(function(){ var adoptScript64 = 'dmFyIGFkb3B0QXBwPSgoKT0+e2xldCBrPW5ldyBjbGFzc3tpc0RlYnVnO2NvbnN0cnVjdG9yKCl7dGhpcy5pc0RlYnVnPSEhbG9jYWxTdG9yYWdlLmdldEl0ZW0oImRlYnVnIil9ZGVidWcoZSx0PSIiKXt0aGlzLmlzRGVidWcmJmNvbnNvbGUubG9nKCIlYyAtPSBBZE9wdCA9LSAiLCJiYWNrZ3JvdW5kOiBibHVlOyBjb2xvcjogd2hpdGUiLGUsdCl9d2FybmluZyhlLHQ9IiIsbz0hMSl7KHRoaXMuaXNEZWJ1Z3x8bykmJmNvbnNvbGUubG9nKCIlYyAtPSBBZE9wdCBXQVJOSU5HID0tICIsImJhY2tncm91bmQ6IHllbGxvdzsgY29sb3I6IGJsYWNrIixlLHQpfWVycm9yKGUsdD0iIixvPSExKXsodGhpcy5pc0RlYnVnfHxvKSYmY29uc29sZS5sb2coIiVjIC09IEFkT3B0IEVSUk9SID0tICIsImJhY2tncm91bmQ6IHJlZDsgY29sb3I6IHdoaXRlIixlLHQpfX0scz0oeT1TdHJpbmcuZnJvbUNoYXJDb2RlLGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixkPXt9LHA9e2NvbXByZXNzVG9CYXNlNjQ6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4iIjt2YXIgdD1wLl9jb21wcmVzcyhlLDYsZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2hhckF0KGUpfSk7c3dpdGNoKHQubGVuZ3RoJTQpe2RlZmF1bHQ6Y2FzZSAwOnJldHVybiB0O2Nhc2UgMTpyZXR1cm4gdCsiPT09IjtjYXNlIDI6cmV0dXJuIHQrIj09IjtjYXNlIDM6cmV0dXJuIHQrIj0ifX0sZGVjb21wcmVzc0Zyb21CYXNlNjQ6ZnVuY3Rpb24ocil7cmV0dXJuIG51bGw9PXI/IiI6IiI9PXI/bnVsbDpwLl9kZWNvbXByZXNzKHI/Lmxlbmd0aCwzMixmdW5jdGlvbihlKXt2YXIgdD1jLGU9ci5jaGFyQXQoZSk7aWYoIWRbdF0pe2RbdF09e307Zm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspZFt0XVt0LmNoYXJBdChvKV09b31yZXR1cm4gZFt0XVtlXX0pfSxfY29tcHJlc3M6ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuIiI7Zm9yKHZhciByLGksbixhLHM9e30sbD17fSxjPSIiLGQ9MixwPTMsdT0yLGc9W10sbT0wLGY9MCxoPTA7aDxlLmxlbmd0aDtoKz0xKWlmKG49ZS5jaGFyQXQoaCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsbil8fChzW25dPXArKyxsW25dPSEwKSxhPWMrbixPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyxhKSljPWE7ZWxzZXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxjKSl7aWYoYy5jaGFyQ29kZUF0KDApPDI1Nil7Zm9yKHI9MDtyPHU7cisrKW08PD0xLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKztmb3IoaT1jLmNoYXJDb2RlQXQoMCkscj0wO3I8ODtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTF9ZWxzZXtmb3IoaT0xLHI9MDtyPHU7cisrKW09bTw8MXxpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPTA7Zm9yKGk9Yy5jaGFyQ29kZUF0KDApLHI9MDtyPDE2O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MX0wPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKSxkZWxldGUgbFtjXX1lbHNlIGZvcihpPXNbY10scj0wO3I8dTtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTE7MD09LS1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyksc1thXT1wKyssYz1TdHJpbmcobil9aWYoIiIhPT1jKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobCxjKSl7aWYoYy5jaGFyQ29kZUF0KDApPDI1Nil7Zm9yKHI9MDtyPHU7cisrKW08PD0xLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKztmb3IoaT1jLmNoYXJDb2RlQXQoMCkscj0wO3I8ODtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTF9ZWxzZXtmb3IoaT0xLHI9MDtyPHU7cisrKW09bTw8MXxpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPTA7Zm9yKGk9Yy5jaGFyQ29kZUF0KDApLHI9MDtyPDE2O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MX0wPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKSxkZWxldGUgbFtjXX1lbHNlIGZvcihpPXNbY10scj0wO3I8dTtyKyspbT1tPDwxfDEmaSxmPT10LTE/KGY9MCxnLnB1c2gobyhtKSksbT0wKTpmKyssaT4+PTE7MD09LS1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyl9Zm9yKGk9MixyPTA7cjx1O3IrKyltPW08PDF8MSZpLGY9PXQtMT8oZj0wLGcucHVzaChvKG0pKSxtPTApOmYrKyxpPj49MTtmb3IoOzspe2lmKG08PD0xLGY9PXQtMSl7Zy5wdXNoKG8obSkpO2JyZWFrfWYrK31yZXR1cm4gZy5qb2luKCIiKX0sX2RlY29tcHJlc3M6ZnVuY3Rpb24oZSx0LG8pe2Zvcih2YXIgcixpLG4sYSxzLGwsYz1bXSxkPTQscD00LHU9MyxnPSIiLG09W10sZj17dmFsOm8oMCkscG9zaXRpb246dCxpbmRleDoxfSxoPTA7aDwzO2grPTEpY1toXT1oO2ZvcihpPTAsYT1NYXRoLnBvdygyLDIpLHM9MTtzIT1hOyluPWYudmFsJmYucG9zaXRpb24sZi5wb3NpdGlvbj4+PTEsMD09Zi5wb3NpdGlvbiYmKGYucG9zaXRpb249dCxmLnZhbD1vKGYuaW5kZXgrKykpLGl8PSgwPG4/MTowKSpzLHM8PD0xO3N3aXRjaChpKXtjYXNlIDA6Zm9yKGk9MCxhPU1hdGgucG93KDIsOCkscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7bD15KGkpO2JyZWFrO2Nhc2UgMTpmb3IoaT0wLGE9TWF0aC5wb3coMiwxNikscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7bD15KGkpO2JyZWFrO2Nhc2UgMjpyZXR1cm4iIn1mb3Iocj1jWzNdPWwsbS5wdXNoKGwpOzspe2lmKGU8Zi5pbmRleClyZXR1cm4iIjtmb3IoaT0wLGE9TWF0aC5wb3coMix1KSxzPTE7cyE9YTspbj1mLnZhbCZmLnBvc2l0aW9uLGYucG9zaXRpb24+Pj0xLDA9PWYucG9zaXRpb24mJihmLnBvc2l0aW9uPXQsZi52YWw9byhmLmluZGV4KyspKSxpfD0oMDxuPzE6MCkqcyxzPDw9MTtzd2l0Y2gobD1pKXtjYXNlIDA6Zm9yKGk9MCxhPU1hdGgucG93KDIsOCkscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7Y1twKytdPXkoaSksbD1wLTEsZC0tO2JyZWFrO2Nhc2UgMTpmb3IoaT0wLGE9TWF0aC5wb3coMiwxNikscz0xO3MhPWE7KW49Zi52YWwmZi5wb3NpdGlvbixmLnBvc2l0aW9uPj49MSwwPT1mLnBvc2l0aW9uJiYoZi5wb3NpdGlvbj10LGYudmFsPW8oZi5pbmRleCsrKSksaXw9KDA8bj8xOjApKnMsczw8PTE7Y1twKytdPXkoaSksbD1wLTEsZC0tO2JyZWFrO2Nhc2UgMjpyZXR1cm4gbS5qb2luKCIiKX1pZigwPT1kJiYoZD1NYXRoLnBvdygyLHUpLHUrKyksY1tsXSlnPWNbbF07ZWxzZXtpZihsIT09cClyZXR1cm4gbnVsbDtnPXIrci5jaGFyQXQoMCl9bS5wdXNoKGcpLGNbcCsrXT1yK2cuY2hhckF0KDApLHI9ZywwPT0tLWQmJihkPU1hdGgucG93KDIsdSksdSsrKX19fSk7dmFyIHksYyxkLHAsUixPLE0sbSx6LFgsZWUsZix3LE4sSTsoZT1SPVJ8fHt9KS5iZ0NvbG9yPSJiZ0NvbG9yIixlLnByaW1hcnlDb2xvcj0icHJpbWFyeUNvbG9yIixlLnRleHRDb2xvcj0idGV4dENvbG9yIiwoZT1PPU98fHt9KS53ZWI9IndlYiIsZS5tb2JpbGU9Im1vYmlsZSIsKGU9TT1NfHx7fSkuT3Blbj0ib3BlbiIsZS5IaWRkZW49ImhpZGRlbiIsZS5QcmVmZXJlbmNlcz0icHJlZmVyZW5jZXMiLGUuQ2FyZD0iY2FyZCIsZS5DbG9zZWQ9ImNsb3NlZCIsKGU9bT1tfHx7fSkuQWRvcHQ9ImFkb3B0IixlLkNvb2tpZT0iY29va2llIixlLkxvY2s9ImxvY2siLChlPXo9enx8e30pLkluaXQ9IkluaXQiLGUuQmFsbENsaWNrPSJCYWxsQ2xpY2siLGUuUHJlZnM9IlByZWZzIixlLkFjY2VwdEFsbD0iQWNjZXB0QWxsIixlLkFjY2VwdFNvbWU9IkFjY2VwdFNvbWUiLGUuUmVqZWN0QWxsPSJSZWplY3RBbGwiLGUuTG9hZD0iTG9hZCIsZS5DbG9zZWQ9IkNsb3NlZCIsZS5PcGVuZWQ9Ik9wZW5lZCIsZS5PcHRpb25zT3BlbmVkPSJPcHRpb25zLW9wZW5lZCIsZS5IaWRlQnV0dG9uPSJIaWRlQnV0dG9uIixlLkRvTm90U2VsbD0iRG9Ob3RTZWxsIiwoZT1YPVh8fHt9KS5HRFBSPSJnZHByIixlLkNOSUw9ImNuaWwiLGUubkZBRFA9Im5mYWRwIixlLlVLX0dEUFI9InVrLWdkcHIiLGUuTEdQRD0ibGdwZCIsZS5QSVBFREE9InBpcGVkYSIsZS5MQVdfMjU9Imxhdy0yNSIsZS5QSVBBPSJwaXBhIixlLlREUFNBPSJ0ZHBzYSIsZS5GREJSPSJmZGJyIixlLk9DUEE9Im9jcGEiLGUuQ1BBPSJjcGEiLGUuUERQPSJwZHAiLGUuQ0NQQT0iY2NwYSIsZS5VQ1BBPSJ1Y3BhIixlLlZDUEE9InZjcGEiLGUuQ1REUEE9ImN0ZHBhIixlLkRQRFBBPSJkcGRwYSIsZS5QRFBMPSJwZHBsIixlLkFQUEk9ImFwcGkiLGUuUERQQV9NQUxBU0lBPSJwZHBhLW1hbGFzaWEiLGUuUERQQV9USEFJTEFORElBPSJwZHBhLXRoYWlsYW5kaWEiLGUuUElQTD0icGlwbCIsZS5QT1BJQT0icG9waWEiLGUuQVBBPSJhcGEiLChlPWVlPWVlfHx7fSkuRXVyb3BlPSJldXJvcGUiLGUuU291dGhBbWVyaWNhPSJzb3V0aEFtZXJpY2EiLGUuTm9ydGhBbWVyaWNhPSJub3J0aEFtZXJpY2EiLGUuQXNpYT0iYXNpYSIsZS5BZnJpY2E9ImFmcmljYSIsZS5PY2VhbmlhPSJvY2VhbmlhIjtsZXQgdGU9e1tlZS5FdXJvcGVdOltYLkdEUFIsWC5VS19HRFBSLFguQ05JTCxYLm5GQURQXSxbZWUuTm9ydGhBbWVyaWNhXTpbWC5DQ1BBLFguUElQRURBLFguTEFXXzI1LFguUElQQSxYLlREUFNBLFguRkRCUixYLk9DUEEsWC5DUEEsWC5QRFAsWC5VQ1BBLFguVkNQQSxYLkNURFBBXSxbZWUuQXNpYV06W1guRFBEUEEsWC5QRFBMLFguQVBQSSxYLlBEUEFfTUFMQVNJQSxYLlBEUEFfVEhBSUxBTkRJQSxYLlBJUExdLFtlZS5BZnJpY2FdOltYLlBPUElBXSxbZWUuT2NlYW5pYV06W1guQVBBXX0sb2U9W1guUElQRURBXSxDPSgoZT1mPWZ8fHt9KVtlLlJlcXVpcmVkPTFdPSJSZXF1aXJlZCIsZVtlLk1hcmtldGluZz0yXT0iTWFya2V0aW5nIixlW2UuU3RhdGlzdGljcz0zXT0iU3RhdGlzdGljcyIsZVtlLlBlcmZvcm1hbmNlPTRdPSJQZXJmb3JtYW5jZSIsZVtlLkZ1bmN0aW9uYWw9NV09IkZ1bmN0aW9uYWwiLHsyOiJtYXJrZXRpbmciLDM6InN0YXRpc3RpY3MiLDQ6InBlcmZvcm1hbmNlIiw1OiJmdW5jdGlvbmFsIn0pO2Z1bmN0aW9uIFMoZSl7cmV0dXJuKFM9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9KShlKX0oZT13PXd8fHt9KVtlLm1hcmtldGluZz0yXT0ibWFya2V0aW5nIixlW2Uuc3RhdGlzdGljcz0zXT0ic3RhdGlzdGljcyIsZVtlLnByZWZlcmVuY2VzPTRdPSJwcmVmZXJlbmNlcyIsZVtlLmZ1bmM9NV09ImZ1bmMiLChlPU49Tnx8e30pLkNvb2tpZXM9IkNvb2tpZXMiLGUuVmVuZG9ycz0iVmVuZG9ycyIsZS5DYXRlZ29yaWVzPSJDYXRlZ29yaWVzIiwoZT1JPUl8fHt9KS5GaXJzdFZpc2l0PSJ3OGJpSHplTiIsZS5BY2NlcHRBbGw9InRSS1E3ZEtRIixlLkFjY2VwdFBhcnRpYWw9ImZzaGZGaDBCIixlLlJlamVjdEFsbD0ibURxQ3Joa3AiO3ZhciBUPWZ1bmN0aW9uKCl7Zm9yKHZhciBlLHIsaT1bXSxuPXdpbmRvdyx0PW47dDspe3RyeXtpZih0LmZyYW1lcy5fX3RjZmFwaUxvY2F0b3Ipe2U9dDticmVha319Y2F0Y2goZSl7fWlmKHQ9PT1uLnRvcClicmVhazt0PXQucGFyZW50fWV8fChmdW5jdGlvbiBlKCl7dmFyIHQsbz1uLmRvY3VtZW50LHI9ISFuLmZyYW1lcy5fX3RjZmFwaUxvY2F0b3I7cmV0dXJuIHJ8fChvLmJvZHk/KCh0PW8uY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6bm9uZSIsdC5uYW1lPSJfX3RjZmFwaUxvY2F0b3IiLG8uYm9keS5hcHBlbmRDaGlsZCh0KSk6c2V0VGltZW91dChlLDUpKSwhcn0oKSxuLl9fdGNmYXBpPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksbz0wO288ZTtvKyspdFtvXT1hcmd1bWVudHNbb107aWYoIXQubGVuZ3RoKXJldHVybiBpOyJzZXRHZHByQXBwbGllcyI9PT10WzBdPzM8dC5sZW5ndGgmJjI9PT1wYXJzZUludCh0WzFdLDEwKSYmImJvb2xlYW4iPT10eXBlb2YgdFszXSYmKHI9dFszXSwiZnVuY3Rpb24iPT10eXBlb2YgdFsyXSkmJnRbMl0oInNldCIsITApOiJwaW5nIj09PXRbMF0/ImZ1bmN0aW9uIj09dHlwZW9mIHRbMl0mJnRbMl0oe2dkcHJBcHBsaWVzOnIsY21wTG9hZGVkOiExLGNtcFN0YXR1czoic3R1YiJ9KTppLnB1c2godCl9LG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24obyl7dmFyIHI9InN0cmluZyI9PXR5cGVvZiBvLmRhdGEsZT17fTtpZihyKXRyeXtlPUpTT04ucGFyc2Uoby5kYXRhKX1jYXRjaChvKXt9ZWxzZSBlPW8uZGF0YTt2YXIgaT0ib2JqZWN0Ij09PVMoZSkmJm51bGwhPT1lP2UuX190Y2ZhcGlDYWxsOm51bGw7aSYmd2luZG93Ll9fdGNmYXBpKGkuY29tbWFuZCxpLnZlcnNpb24sZnVuY3Rpb24oZSx0KXtlPXtfX3RjZmFwaVJldHVybjp7cmV0dXJuVmFsdWU6ZSxzdWNjZXNzOnQsY2FsbElkOmkuY2FsbElkfX07byYmby5zb3VyY2UmJm8uc291cmNlLnBvc3RNZXNzYWdlJiZvLnNvdXJjZS5wb3N0TWVzc2FnZShyP0pTT04uc3RyaW5naWZ5KGUpOmUsIioiKX0saS5wYXJhbWV0ZXIpfSwhMSkpfSxlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e307ZnVuY3Rpb24gTCgpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uICQoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXZhciBBPUwsRT0kO2Z1bmN0aW9uIFAodCl7aWYoQT09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQodCwwKTtpZigoQT09PUx8fCFBKSYmc2V0VGltZW91dClyZXR1cm4oQT1zZXRUaW1lb3V0KSh0LDApO3RyeXtyZXR1cm4gQSh0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gQS5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gQS5jYWxsKHRoaXMsdCwwKX19fSJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldFRpbWVvdXQmJihBPXNldFRpbWVvdXQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmNsZWFyVGltZW91dCYmKEU9Y2xlYXJUaW1lb3V0KTt2YXIgXyxqPVtdLFY9ITEsRj0tMTtmdW5jdGlvbiBVKCl7ViYmXyYmKFY9ITEsXy5sZW5ndGg/aj1fLmNvbmNhdChqKTpGPS0xLGoubGVuZ3RoKSYmVygpfWZ1bmN0aW9uIFcoKXtpZighVil7Zm9yKHZhciBlPVAoVSksdD0oVj0hMCxqLmxlbmd0aCk7dDspe2ZvcihfPWosaj1bXTsrK0Y8dDspXyYmX1tGXS5ydW4oKTtGPS0xLHQ9ai5sZW5ndGh9Xz1udWxsLFY9ITEsIWZ1bmN0aW9uKHQpe2lmKEU9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dCh0KTtpZigoRT09PSR8fCFFKSYmY2xlYXJUaW1lb3V0KXJldHVybihFPWNsZWFyVGltZW91dCkodCk7dHJ5e0UodCl9Y2F0Y2goZSl7dHJ5e3JldHVybiBFLmNhbGwobnVsbCx0KX1jYXRjaChlKXtyZXR1cm4gRS5jYWxsKHRoaXMsdCl9fX0oZSl9fWZ1bmN0aW9uIEgoZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBHKCl7fUgucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9O3ZhciBxLEssUSxKLFosWSxyZSxhZSxDZT1HLHQ9Ryx2ZT1HLG89RyxrZT1HLEllPUcsU2U9RyxUZT1lLnBlcmZvcm1hbmNlfHx7fSxMZT1UZS5ub3d8fFRlLm1vek5vd3x8VGUubXNOb3d8fFRlLm9Ob3d8fFRlLndlYmtpdE5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sJGU9bmV3IERhdGUsQWU9e25leHRUaWNrOmZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKDE8YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIG89MTtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKXRbby0xXT1hcmd1bWVudHNbb107ai5wdXNoKG5ldyBIKGUsdCkpLDEhPT1qLmxlbmd0aHx8Vnx8UChXKX0sdGl0bGU6ImJyb3dzZXIiLGJyb3dzZXI6ITAsZW52Ont9LGFyZ3Y6W10sdmVyc2lvbjoiIix2ZXJzaW9uczp7fSxvbjpDZSxhZGRMaXN0ZW5lcjp0LG9uY2U6dmUsb2ZmOm8scmVtb3ZlTGlzdGVuZXI6a2UscmVtb3ZlQWxsTGlzdGVuZXJzOkllLGVtaXQ6U2UsYmluZGluZzpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LGN3ZDpmdW5jdGlvbigpe3JldHVybiIvIn0sY2hkaXI6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sdW1hc2s6ZnVuY3Rpb24oKXtyZXR1cm4gMH0saHJ0aW1lOmZ1bmN0aW9uKGUpe3ZhciB0PS4wMDEqTGUuY2FsbChUZSksbz1NYXRoLmZsb29yKHQpLHQ9TWF0aC5mbG9vcih0JTEqMWU5KTtyZXR1cm4gZSYmKG8tPWVbMF0sKHQtPWVbMV0pPDApJiYoby0tLHQrPTFlOSksW28sdF19LHBsYXRmb3JtOiJicm93c2VyIixyZWxlYXNlOnt9LGNvbmZpZzp7fSx1cHRpbWU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUtJGUpLzFlM319LEVlPShlPXtleHBvcnRzOnt9fSxxPWZ1bmN0aW9uKCl7cmV0dXJuIHI9W2Z1bmN0aW9uKGUsdCxvKXtlLmV4cG9ydHM9bygxKX0sZnVuY3Rpb24oZSx0LG8pe3ZhciByPW8oMiksaT1vKDMpLG49byg0KSxhPW8oMjIpO2Z1bmN0aW9uIHMoZSl7dmFyIGU9bmV3IG4oZSksdD1pKG4ucHJvdG90eXBlLnJlcXVlc3QsZSk7cmV0dXJuIHIuZXh0ZW5kKHQsbi5wcm90b3R5cGUsZSksci5leHRlbmQodCxlKSx0fXZhciBsPXMobygxMCkpO2wuQXhpb3M9bixsLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gcyhhKGwuZGVmYXVsdHMsZSkpfSxsLkNhbmNlbD1vKDIzKSxsLkNhbmNlbFRva2VuPW8oMjQpLGwuaXNDYW5jZWw9byg5KSxsLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZSl9LGwuc3ByZWFkPW8oMjUpLGwuaXNBeGlvc0Vycm9yPW8oMjYpLGUuZXhwb3J0cz1sLGUuZXhwb3J0cy5kZWZhdWx0PWx9LGZ1bmN0aW9uKGUsdCxvKXt2YXIgaT1vKDMpLHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBuKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1yLmNhbGwoZSl9ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwPT09ZX1mdW5jdGlvbiBzKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1yLmNhbGwoZSkmJihudWxsPT09KGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpKXx8ZT09PU9iamVjdC5wcm90b3R5cGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09PXIuY2FsbChlKX1mdW5jdGlvbiBkKGUsdCl7aWYobnVsbCE9ZSlpZihuKGU9Im9iamVjdCIhPXR5cGVvZiBlP1tlXTplKSlmb3IodmFyIG89MCxyPWUubGVuZ3RoO288cjtvKyspdC5jYWxsKG51bGwsZVtvXSxvLGUpO2Vsc2UgZm9yKHZhciBpIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJnQuY2FsbChudWxsLGVbaV0saSxlKX1lLmV4cG9ydHM9e2lzQXJyYXk6bixpc0FycmF5QnVmZmVyOmZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5QnVmZmVyXSI9PT1yLmNhbGwoZSl9LGlzQnVmZmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09ZSYmIWEoZSkmJm51bGwhPT1lLmNvbnN0cnVjdG9yJiYhYShlLmNvbnN0cnVjdG9yKSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuY29uc3RydWN0b3IuaXNCdWZmZXImJmUuY29uc3RydWN0b3IuaXNCdWZmZXIoZSl9LGlzRm9ybURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmZSBpbnN0YW5jZW9mIEZvcm1EYXRhfSxpc0FycmF5QnVmZmVyVmlldzpmdW5jdGlvbihlKXtyZXR1cm4gZT0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KGUpOmUmJmUuYnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfSxpc1N0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9LGlzTnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZX0saXNPYmplY3Q6cyxpc1BsYWluT2JqZWN0OmwsaXNVbmRlZmluZWQ6YSxpc0RhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09ci5jYWxsKGUpfSxpc0ZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgRmlsZV0iPT09ci5jYWxsKGUpfSxpc0Jsb2I6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQmxvYl0iPT09ci5jYWxsKGUpfSxpc0Z1bmN0aW9uOmMsaXNTdHJlYW06ZnVuY3Rpb24oZSl7cmV0dXJuIHMoZSkmJmMoZS5waXBlKX0saXNVUkxTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJmUgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmF2aWdhdG9yfHwiUmVhY3ROYXRpdmUiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOYXRpdmVTY3JpcHQiIT09bmF2aWdhdG9yLnByb2R1Y3QmJiJOUyIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50fSxmb3JFYWNoOmQsbWVyZ2U6ZnVuY3Rpb24gbygpe3ZhciByPXt9O2Z1bmN0aW9uIGUoZSx0KXtsKHJbdF0pJiZsKGUpP3JbdF09byhyW3RdLGUpOmwoZSk/clt0XT1vKHt9LGUpOm4oZSk/clt0XT1lLnNsaWNlKCk6clt0XT1lfWZvcih2YXIgdD0wLGk9YXJndW1lbnRzLmxlbmd0aDt0PGk7dCsrKWQoYXJndW1lbnRzW3RdLGUpO3JldHVybiByfSxleHRlbmQ6ZnVuY3Rpb24obyxlLHIpe3JldHVybiBkKGUsZnVuY3Rpb24oZSx0KXtvW3RdPXImJiJmdW5jdGlvbiI9PXR5cGVvZiBlP2koZSxyKTplfSksb30sdHJpbTpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXHMqLywiIikucmVwbGFjZSgvXHMqJC8sIiIpfSxzdHJpcEJPTTpmdW5jdGlvbihlKXtyZXR1cm4gZT02NTI3OT09PWUuY2hhckNvZGVBdCgwKT9lLnNsaWNlKDEpOmV9fX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24obyxyKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPWFyZ3VtZW50c1t0XTtyZXR1cm4gby5hcHBseShyLGUpfX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDIpLGk9byg1KSxuPW8oNiksYT1vKDcpLHM9bygyMik7ZnVuY3Rpb24gbChlKXt0aGlzLmRlZmF1bHRzPWUsdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IG4scmVzcG9uc2U6bmV3IG59fWwucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oZSl7InN0cmluZyI9PXR5cGVvZiBlPyhlPWFyZ3VtZW50c1sxXXx8e30pLnVybD1hcmd1bWVudHNbMF06ZT1lfHx7fSwoZT1zKHRoaXMuZGVmYXVsdHMsZSkpLm1ldGhvZD9lLm1ldGhvZD1lLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnRoaXMuZGVmYXVsdHMubWV0aG9kP2UubWV0aG9kPXRoaXMuZGVmYXVsdHMubWV0aG9kLnRvTG93ZXJDYXNlKCk6ZS5tZXRob2Q9ImdldCI7dmFyIHQ9W2Esdm9pZCAwXSxvPVByb21pc2UucmVzb2x2ZShlKTtmb3IodGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QudW5zaGlmdChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pLHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goZnVuY3Rpb24oZSl7dC5wdXNoKGUuZnVsZmlsbGVkLGUucmVqZWN0ZWQpfSk7dC5sZW5ndGg7KW89by50aGVuKHQuc2hpZnQoKSx0LnNoaWZ0KCkpO3JldHVybiBvfSxsLnByb3RvdHlwZS5nZXRVcmk9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9cyh0aGlzLmRlZmF1bHRzLGUpLGkoZS51cmwsZS5wYXJhbXMsZS5wYXJhbXNTZXJpYWxpemVyKS5yZXBsYWNlKC9eXD8vLCIiKX0sci5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsIm9wdGlvbnMiXSxmdW5jdGlvbihvKXtsLnByb3RvdHlwZVtvXT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlcXVlc3Qocyh0fHx7fSx7bWV0aG9kOm8sdXJsOmUsZGF0YToodHx8e30pLmRhdGF9KSl9fSksci5mb3JFYWNoKFsicG9zdCIsInB1dCIsInBhdGNoIl0sZnVuY3Rpb24ocil7bC5wcm90b3R5cGVbcl09ZnVuY3Rpb24oZSx0LG8pe3JldHVybiB0aGlzLnJlcXVlc3QocyhvfHx7fSx7bWV0aG9kOnIsdXJsOmUsZGF0YTp0fSkpfX0pLGUuZXhwb3J0cz1sfSxmdW5jdGlvbihlLHQsbyl7dmFyIGk9bygyKTtmdW5jdGlvbiBuKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvJTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2csIiQiKS5yZXBsYWNlKC8lMkMvZ2ksIiwiKS5yZXBsYWNlKC8lMjAvZywiKyIpLnJlcGxhY2UoLyU1Qi9naSwiWyIpLnJlcGxhY2UoLyU1RC9naSwiXSIpfWUuZXhwb3J0cz1mdW5jdGlvbihlLHQsbyl7dmFyIHI7cmV0dXJuIHQmJihvPW8/byh0KTppLmlzVVJMU2VhcmNoUGFyYW1zKHQpP3QudG9TdHJpbmcoKToocj1bXSxpLmZvckVhY2godCxmdW5jdGlvbihlLHQpe251bGwhPWUmJihpLmlzQXJyYXkoZSk/dCs9IltdIjplPVtlXSxpLmZvckVhY2goZSxmdW5jdGlvbihlKXtpLmlzRGF0ZShlKT9lPWUudG9JU09TdHJpbmcoKTppLmlzT2JqZWN0KGUpJiYoZT1KU09OLnN0cmluZ2lmeShlKSksci5wdXNoKG4odCkrIj0iK24oZSkpfSkpfSksci5qb2luKCImIikpKSYmKC0xIT09KHQ9ZS5pbmRleE9mKCIjIikpJiYoZT1lLnNsaWNlKDAsdCkpLGUrPSgtMT09PWUuaW5kZXhPZigiPyIpPyI/IjoiJiIpK28pLGV9fSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyKTtmdW5jdGlvbiBpKCl7dGhpcy5oYW5kbGVycz1bXX1pLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6ZSxyZWplY3RlZDp0fSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0saS5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24oZSl7dGhpcy5oYW5kbGVyc1tlXSYmKHRoaXMuaGFuZGxlcnNbZV09bnVsbCl9LGkucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCl7ci5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsZnVuY3Rpb24oZSl7bnVsbCE9PWUmJnQoZSl9KX0sZS5leHBvcnRzPWl9LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDIpLGk9byg4KSxuPW8oOSksYT1vKDEwKTtmdW5jdGlvbiBzKGUpe2UuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpfWUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gcyh0KSx0LmhlYWRlcnM9dC5oZWFkZXJzfHx7fSx0LmRhdGE9aSh0LmRhdGEsdC5oZWFkZXJzLHQudHJhbnNmb3JtUmVxdWVzdCksdC5oZWFkZXJzPXIubWVyZ2UodC5oZWFkZXJzLmNvbW1vbnx8e30sdC5oZWFkZXJzW3QubWV0aG9kXXx8e30sdC5oZWFkZXJzKSxyLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwicG9zdCIsInB1dCIsInBhdGNoIiwiY29tbW9uIl0sZnVuY3Rpb24oZSl7ZGVsZXRlIHQuaGVhZGVyc1tlXX0pLCh0LmFkYXB0ZXJ8fGEuYWRhcHRlcikodCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gcyh0KSxlLmRhdGE9aShlLmRhdGEsZS5oZWFkZXJzLHQudHJhbnNmb3JtUmVzcG9uc2UpLGV9LGZ1bmN0aW9uKGUpe3JldHVybiBuKGUpfHwocyh0KSxlJiZlLnJlc3BvbnNlJiYoZS5yZXNwb25zZS5kYXRhPWkoZS5yZXNwb25zZS5kYXRhLGUucmVzcG9uc2UuaGVhZGVycyx0LnRyYW5zZm9ybVJlc3BvbnNlKSkpLFByb21pc2UucmVqZWN0KGUpfSl9fSxmdW5jdGlvbihlLHQsbyl7dmFyIHI9bygyKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxvLGUpe3JldHVybiByLmZvckVhY2goZSxmdW5jdGlvbihlKXt0PWUodCxvKX0pLHR9fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4hKCFlfHwhZS5fX0NBTkNFTF9fKX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDIpLGk9bygxMSksbj17IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9O2Z1bmN0aW9uIGEoZSx0KXshci5pc1VuZGVmaW5lZChlKSYmci5pc1VuZGVmaW5lZChlWyJDb250ZW50LVR5cGUiXSkmJihlWyJDb250ZW50LVR5cGUiXT10KX12YXIgcyxsPXthZGFwdGVyOnM9InVuZGVmaW5lZCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdHx8dm9pZCAwIT09QWUmJiJbb2JqZWN0IHByb2Nlc3NdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChBZSk/bygxMik6cyx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihlLHQpe3JldHVybiBpKHQsIkFjY2VwdCIpLGkodCwiQ29udGVudC1UeXBlIiksci5pc0Zvcm1EYXRhKGUpfHxyLmlzQXJyYXlCdWZmZXIoZSl8fHIuaXNCdWZmZXIoZSl8fHIuaXNTdHJlYW0oZSl8fHIuaXNGaWxlKGUpfHxyLmlzQmxvYihlKT9lOnIuaXNBcnJheUJ1ZmZlclZpZXcoZSk/ZS5idWZmZXI6ci5pc1VSTFNlYXJjaFBhcmFtcyhlKT8oYSh0LCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpLGUudG9TdHJpbmcoKSk6ci5pc09iamVjdChlKT8oYSh0LCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgiKSxKU09OLnN0cmluZ2lmeShlKSk6ZX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpdHJ5e2U9SlNPTi5wYXJzZShlKX1jYXRjaChlKXt9cmV0dXJuIGV9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6IlhTUkYtVE9LRU4iLHhzcmZIZWFkZXJOYW1lOiJYLVhTUkYtVE9LRU4iLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihlKXtyZXR1cm4gMjAwPD1lJiZlPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKiJ9fX07ci5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCJdLGZ1bmN0aW9uKGUpe2wuaGVhZGVyc1tlXT17fX0pLHIuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLGZ1bmN0aW9uKGUpe2wuaGVhZGVyc1tlXT1yLm1lcmdlKG4pfSksZS5leHBvcnRzPWx9LGZ1bmN0aW9uKGUsdCxvKXt2YXIgaT1vKDIpO2UuZXhwb3J0cz1mdW5jdGlvbihvLHIpe2kuZm9yRWFjaChvLGZ1bmN0aW9uKGUsdCl7dCE9PXImJnQudG9VcHBlckNhc2UoKT09PXIudG9VcHBlckNhc2UoKSYmKG9bcl09ZSxkZWxldGUgb1t0XSl9KX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgbD1vKDIpLGM9bygxMyksZD1vKDE2KSxwPW8oNSksdT1vKDE3KSxnPW8oMjApLG09bygyMSksZj1vKDE0KTtlLmV4cG9ydHM9ZnVuY3Rpb24ocyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQsbyl7dmFyIGUscj1zLmRhdGEsaT1zLmhlYWRlcnMsbj0obC5pc0Zvcm1EYXRhKHIpJiZkZWxldGUgaVsiQ29udGVudC1UeXBlIl0sbmV3IFhNTEh0dHBSZXF1ZXN0KSxhPShzLmF1dGgmJihhPXMuYXV0aC51c2VybmFtZXx8IiIsZT1zLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHMuYXV0aC5wYXNzd29yZCkpOiIiLGkuQXV0aG9yaXphdGlvbj0iQmFzaWMgIitidG9hKGErIjoiK2UpKSx1KHMuYmFzZVVSTCxzLnVybCkpO2lmKG4ub3BlbihzLm1ldGhvZC50b1VwcGVyQ2FzZSgpLHAoYSxzLnBhcmFtcyxzLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSxuLnRpbWVvdXQ9cy50aW1lb3V0LG4ub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7dmFyIGU7biYmND09PW4ucmVhZHlTdGF0ZSYmKDAhPT1uLnN0YXR1c3x8bi5yZXNwb25zZVVSTCYmMD09PW4ucmVzcG9uc2VVUkwuaW5kZXhPZigiZmlsZToiKSkmJihlPSJnZXRBbGxSZXNwb25zZUhlYWRlcnMiaW4gbj9nKG4uZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsZT17ZGF0YTpzLnJlc3BvbnNlVHlwZSYmInRleHQiIT09cy5yZXNwb25zZVR5cGU/bi5yZXNwb25zZTpuLnJlc3BvbnNlVGV4dCxzdGF0dXM6bi5zdGF0dXMsc3RhdHVzVGV4dDpuLnN0YXR1c1RleHQsaGVhZGVyczplLGNvbmZpZzpzLHJlcXVlc3Q6bn0sYyh0LG8sZSksbj1udWxsKX0sbi5vbmFib3J0PWZ1bmN0aW9uKCl7biYmKG8oZigiUmVxdWVzdCBhYm9ydGVkIixzLCJFQ09OTkFCT1JURUQiLG4pKSxuPW51bGwpfSxuLm9uZXJyb3I9ZnVuY3Rpb24oKXtvKGYoIk5ldHdvcmsgRXJyb3IiLHMsbnVsbCxuKSksbj1udWxsfSxuLm9udGltZW91dD1mdW5jdGlvbigpe3ZhciBlPSJ0aW1lb3V0IG9mICIrcy50aW1lb3V0KyJtcyBleGNlZWRlZCI7cy50aW1lb3V0RXJyb3JNZXNzYWdlJiYoZT1zLnRpbWVvdXRFcnJvck1lc3NhZ2UpLG8oZihlLHMsIkVDT05OQUJPUlRFRCIsbikpLG49bnVsbH0sbC5pc1N0YW5kYXJkQnJvd3NlckVudigpJiYoZT0ocy53aXRoQ3JlZGVudGlhbHN8fG0oYSkpJiZzLnhzcmZDb29raWVOYW1lP2QucmVhZChzLnhzcmZDb29raWVOYW1lKTp2b2lkIDApJiYoaVtzLnhzcmZIZWFkZXJOYW1lXT1lKSwic2V0UmVxdWVzdEhlYWRlciJpbiBuJiZsLmZvckVhY2goaSxmdW5jdGlvbihlLHQpe3ZvaWQgMD09PXImJiJjb250ZW50LXR5cGUiPT09dC50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBpW3RdOm4uc2V0UmVxdWVzdEhlYWRlcih0LGUpfSksbC5pc1VuZGVmaW5lZChzLndpdGhDcmVkZW50aWFscyl8fChuLndpdGhDcmVkZW50aWFscz0hIXMud2l0aENyZWRlbnRpYWxzKSxzLnJlc3BvbnNlVHlwZSl0cnl7bi5yZXNwb25zZVR5cGU9cy5yZXNwb25zZVR5cGV9Y2F0Y2goZSl7aWYoImpzb24iIT09cy5yZXNwb25zZVR5cGUpdGhyb3cgZX0iZnVuY3Rpb24iPT10eXBlb2Ygcy5vbkRvd25sb2FkUHJvZ3Jlc3MmJm4uYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLHMub25Eb3dubG9hZFByb2dyZXNzKSwiZnVuY3Rpb24iPT10eXBlb2Ygcy5vblVwbG9hZFByb2dyZXNzJiZuLnVwbG9hZCYmbi51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLHMub25VcGxvYWRQcm9ncmVzcykscy5jYW5jZWxUb2tlbiYmcy5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24oZSl7biYmKG4uYWJvcnQoKSxvKGUpLG49bnVsbCl9KSxyPXJ8fG51bGwsbi5zZW5kKHIpfSl9fSxmdW5jdGlvbihlLHQsbyl7dmFyIGk9bygxNCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztvLnN0YXR1cyYmciYmIXIoby5zdGF0dXMpP3QoaSgiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAiK28uc3RhdHVzLG8uY29uZmlnLG51bGwsby5yZXF1ZXN0LG8pKTplKG8pfX0sZnVuY3Rpb24oZSx0LG8pe3ZhciBuPW8oMTUpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbyxyLGkpe2U9bmV3IEVycm9yKGUpO3JldHVybiBuKGUsdCxvLHIsaSl9fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbyxyLGkpe3JldHVybiBlLmNvbmZpZz10LG8mJihlLmNvZGU9byksZS5yZXF1ZXN0PXIsZS5yZXNwb25zZT1pLGUuaXNBeGlvc0Vycm9yPSEwLGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlfX0sZX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcz1vKDIpO2UuZXhwb3J0cz1zLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKGUsdCxvLHIsaSxuKXt2YXIgYT1bXTthLnB1c2goZSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQpKSxzLmlzTnVtYmVyKG8pJiZhLnB1c2goImV4cGlyZXM9IituZXcgRGF0ZShvKS50b0dNVFN0cmluZygpKSxzLmlzU3RyaW5nKHIpJiZhLnB1c2goInBhdGg9IityKSxzLmlzU3RyaW5nKGkpJiZhLnB1c2goImRvbWFpbj0iK2kpLCEwPT09biYmYS5wdXNoKCJzZWN1cmUiKSxkb2N1bWVudC5jb29raWU9YS5qb2luKCI7ICIpfSxyZWFkOmZ1bmN0aW9uKGUpe2U9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoIihefDtcXHMqKSgiK2UrIik9KFteO10qKSIpKTtyZXR1cm4gZT9kZWNvZGVVUklDb21wb25lbnQoZVszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGUpe3RoaXMud3JpdGUoZSwiIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fX0sZnVuY3Rpb24oZSx0LG8pe3ZhciByPW8oMTgpLGk9bygxOSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUmJiFyKHQpP2koZSx0KTp0fX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuL14oW2Etel1bYS16XGRcK1wtXC5dKjopP1wvXC8vaS50ZXN0KGUpfX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9lLnJlcGxhY2UoL1wvKyQvLCIiKSsiLyIrdC5yZXBsYWNlKC9eXC8rLywiIik6ZX19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgaT1vKDIpLG49WyJhZ2UiLCJhdXRob3JpemF0aW9uIiwiY29udGVudC1sZW5ndGgiLCJjb250ZW50LXR5cGUiLCJldGFnIiwiZXhwaXJlcyIsImZyb20iLCJob3N0IiwiaWYtbW9kaWZpZWQtc2luY2UiLCJpZi11bm1vZGlmaWVkLXNpbmNlIiwibGFzdC1tb2RpZmllZCIsImxvY2F0aW9uIiwibWF4LWZvcndhcmRzIiwicHJveHktYXV0aG9yaXphdGlvbiIsInJlZmVyZXIiLCJyZXRyeS1hZnRlciIsInVzZXItYWdlbnQiXTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQsbyxyPXt9O3JldHVybiBlJiZpLmZvckVhY2goZS5zcGxpdCgiXG4iKSxmdW5jdGlvbihlKXtvPWUuaW5kZXhPZigiOiIpLHQ9aS50cmltKGUuc3Vic3RyKDAsbykpLnRvTG93ZXJDYXNlKCksbz1pLnRyaW0oZS5zdWJzdHIobysxKSksIXR8fHJbdF0mJjA8PW4uaW5kZXhPZih0KXx8KHJbdF09InNldC1jb29raWUiPT09dD8oclt0XXx8W10pLmNvbmNhdChbb10pOnJbdF0/clt0XSsiLCAiK286byl9KSxyfX0sZnVuY3Rpb24oZSx0LG8pe3ZhciByLGksbixhPW8oMik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gaSYmKG4uc2V0QXR0cmlidXRlKCJocmVmIixlKSxlPW4uaHJlZiksbi5zZXRBdHRyaWJ1dGUoImhyZWYiLGUpLHtocmVmOm4uaHJlZixwcm90b2NvbDpuLnByb3RvY29sP24ucHJvdG9jb2wucmVwbGFjZSgvOiQvLCIiKToiIixob3N0Om4uaG9zdCxzZWFyY2g6bi5zZWFyY2g/bi5zZWFyY2gucmVwbGFjZSgvXlw/LywiIik6IiIsaGFzaDpuLmhhc2g/bi5oYXNoLnJlcGxhY2UoL14jLywiIik6IiIsaG9zdG5hbWU6bi5ob3N0bmFtZSxwb3J0Om4ucG9ydCxwYXRobmFtZToiLyI9PT1uLnBhdGhuYW1lLmNoYXJBdCgwKT9uLnBhdGhuYW1lOiIvIituLnBhdGhuYW1lfX1lLmV4cG9ydHM9YS5pc1N0YW5kYXJkQnJvd3NlckVudigpPyhpPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikscj1zKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxmdW5jdGlvbihlKXtlPWEuaXNTdHJpbmcoZSk/cyhlKTplO3JldHVybiBlLnByb3RvY29sPT09ci5wcm90b2NvbCYmZS5ob3N0PT09ci5ob3N0fSk6ZnVuY3Rpb24oKXtyZXR1cm4hMH19LGZ1bmN0aW9uKGUsdCxvKXt2YXIgZD1vKDIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LG8pe289b3x8e307dmFyIHI9e30sZT1bInVybCIsIm1ldGhvZCIsImRhdGEiXSxpPVsiaGVhZGVycyIsImF1dGgiLCJwcm94eSIsInBhcmFtcyJdLG49WyJiYXNlVVJMIiwidHJhbnNmb3JtUmVxdWVzdCIsInRyYW5zZm9ybVJlc3BvbnNlIiwicGFyYW1zU2VyaWFsaXplciIsInRpbWVvdXQiLCJ0aW1lb3V0TWVzc2FnZSIsIndpdGhDcmVkZW50aWFscyIsImFkYXB0ZXIiLCJyZXNwb25zZVR5cGUiLCJ4c3JmQ29va2llTmFtZSIsInhzcmZIZWFkZXJOYW1lIiwib25VcGxvYWRQcm9ncmVzcyIsIm9uRG93bmxvYWRQcm9ncmVzcyIsImRlY29tcHJlc3MiLCJtYXhDb250ZW50TGVuZ3RoIiwibWF4Qm9keUxlbmd0aCIsIm1heFJlZGlyZWN0cyIsInRyYW5zcG9ydCIsImh0dHBBZ2VudCIsImh0dHBzQWdlbnQiLCJjYW5jZWxUb2tlbiIsInNvY2tldFBhdGgiLCJyZXNwb25zZUVuY29kaW5nIl0sYT1bInZhbGlkYXRlU3RhdHVzIl07ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBkLmlzUGxhaW5PYmplY3QoZSkmJmQuaXNQbGFpbk9iamVjdCh0KT9kLm1lcmdlKGUsdCk6ZC5pc1BsYWluT2JqZWN0KHQpP2QubWVyZ2Uoe30sdCk6ZC5pc0FycmF5KHQpP3Quc2xpY2UoKTp0fWZ1bmN0aW9uIGwoZSl7ZC5pc1VuZGVmaW5lZChvW2VdKT9kLmlzVW5kZWZpbmVkKHRbZV0pfHwocltlXT1zKHZvaWQgMCx0W2VdKSk6cltlXT1zKHRbZV0sb1tlXSl9ZC5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7ZC5pc1VuZGVmaW5lZChvW2VdKXx8KHJbZV09cyh2b2lkIDAsb1tlXSkpfSksZC5mb3JFYWNoKGksbCksZC5mb3JFYWNoKG4sZnVuY3Rpb24oZSl7ZC5pc1VuZGVmaW5lZChvW2VdKT9kLmlzVW5kZWZpbmVkKHRbZV0pfHwocltlXT1zKHZvaWQgMCx0W2VdKSk6cltlXT1zKHZvaWQgMCxvW2VdKX0pLGQuZm9yRWFjaChhLGZ1bmN0aW9uKGUpe2UgaW4gbz9yW2VdPXModFtlXSxvW2VdKTplIGluIHQmJihyW2VdPXModm9pZCAwLHRbZV0pKX0pO3ZhciBjPWUuY29uY2F0KGkpLmNvbmNhdChuKS5jb25jYXQoYSksZT1PYmplY3Qua2V5cyh0KS5jb25jYXQoT2JqZWN0LmtleXMobykpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4tMT09PWMuaW5kZXhPZihlKX0pO3JldHVybiBkLmZvckVhY2goZSxsKSxyfX0sZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBvKGUpe3RoaXMubWVzc2FnZT1lfW8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIkNhbmNlbCIrKHRoaXMubWVzc2FnZT8iOiAiK3RoaXMubWVzc2FnZToiIil9LG8ucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsZS5leHBvcnRzPW99LGZ1bmN0aW9uKGUsdCxvKXt2YXIgcj1vKDIzKTtmdW5jdGlvbiBpKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4ZWN1dG9yIG11c3QgYmUgYSBmdW5jdGlvbi4iKTt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7dD1lfSk7dmFyIHQsbz10aGlzO2UoZnVuY3Rpb24oZSl7by5yZWFzb258fChvLnJlYXNvbj1uZXcgcihlKSx0KG8ucmVhc29uKSl9KX1pLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LGkuc291cmNlPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJue3Rva2VuOm5ldyBpKGZ1bmN0aW9uKGUpe3Q9ZX0pLGNhbmNlbDp0fX0sZS5leHBvcnRzPWl9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseShudWxsLGUpfX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmITA9PT1lLmlzQXhpb3NFcnJvcn19XSxpPXt9LG8ubT1yLG8uYz1pLG8ucD0iIixvKDApO2Z1bmN0aW9uIG8oZSl7dmFyIHQ7cmV0dXJuKGlbZV18fCh0PWlbZV09e2V4cG9ydHM6e30saWQ6ZSxsb2FkZWQ6ITF9LHJbZV0uY2FsbCh0LmV4cG9ydHMsdCx0LmV4cG9ydHMsbyksdC5sb2FkZWQ9ITAsdCkpLmV4cG9ydHN9dmFyIHIsaX0sZS5leHBvcnRzPXEoKSxlLmV4cG9ydHMpO2xldCBSZT17YmFzZVVybDoiaHR0cHM6Ly9kaXNjbGFpbWVyLWFwaS5nb2Fkb3B0LmlvIn0uYmFzZVVybCxPZT0oYSxzLGwsYyxlKT0+ZT9uZXcgUHJvbWlzZShhc3luYyhlLHQpPT57dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7by5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO3RyeXt2YXIgcj0iIitSZStzLGk9Yz9uZXcgUmVxdWVzdChyLHttZXRob2Q6YSxib2R5OkpTT04uc3RyaW5naWZ5KGwpLG1vZGU6ImNvcnMiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6ImluY2x1ZGUifSk6bmV3IFJlcXVlc3Qocix7bWV0aG9kOmF9KSxuPWF3YWl0IG8uY29udGVudFdpbmRvdz8uZmV0Y2goaSk7biYmbi5vaz9lKGF3YWl0IG4uanNvbigpKTp0KG5ldyBFcnJvcigiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgIituPy5zdGF0dXMpKX1jYXRjaChlKXt0KGUpfWZpbmFsbHl7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChvKX19KTpFZSh7bWV0aG9kOmEsdXJsOiIiK1JlK3MsZGF0YTpsLC4uLmN9KS50aGVuKGU9PlByb21pc2UucmVzb2x2ZShlLmRhdGEpKS5jYXRjaChlPT5Qcm9taXNlLnJlamVjdChlKSksRGU9e2dldDooZSx0KT0+T2UoImdldCIsZSxSZXF1ZXN0LG51bGwsdCkscG9zdDooZSx0LG8scik9Pk9lKCJwb3N0IixlLHQsbyxyKX07Y2xhc3MgQmUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IkRlY29kaW5nRXJyb3IifX1jbGFzcyBQZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iRW5jb2RpbmdFcnJvciJ9fWNsYXNzIF9lIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPSJHVkxFcnJvciJ9fWNsYXNzIGplIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0LG89IiIpe3N1cGVyKGBpbnZhbGlkIHZhbHVlICR7dH0gcGFzc2VkIGZvciAke2V9IGArbyksdGhpcy5uYW1lPSJUQ01vZGVsRXJyb3IifX1jbGFzcyBOZXtzdGF0aWMgRElDVD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyI7c3RhdGljIFJFVkVSU0VfRElDVD1uZXcgTWFwKFtbIkEiLDBdLFsiQiIsMV0sWyJDIiwyXSxbIkQiLDNdLFsiRSIsNF0sWyJGIiw1XSxbIkciLDZdLFsiSCIsN10sWyJJIiw4XSxbIkoiLDldLFsiSyIsMTBdLFsiTCIsMTFdLFsiTSIsMTJdLFsiTiIsMTNdLFsiTyIsMTRdLFsiUCIsMTVdLFsiUSIsMTZdLFsiUiIsMTddLFsiUyIsMThdLFsiVCIsMTldLFsiVSIsMjBdLFsiViIsMjFdLFsiVyIsMjJdLFsiWCIsMjNdLFsiWSIsMjRdLFsiWiIsMjVdLFsiYSIsMjZdLFsiYiIsMjddLFsiYyIsMjhdLFsiZCIsMjldLFsiZSIsMzBdLFsiZiIsMzFdLFsiZyIsMzJdLFsiaCIsMzNdLFsiaSIsMzRdLFsiaiIsMzVdLFsiayIsMzZdLFsibCIsMzddLFsibSIsMzhdLFsibiIsMzldLFsibyIsNDBdLFsicCIsNDFdLFsicSIsNDJdLFsiciIsNDNdLFsicyIsNDRdLFsidCIsNDVdLFsidSIsNDZdLFsidiIsNDddLFsidyIsNDhdLFsieCIsNDldLFsieSIsNTBdLFsieiIsNTFdLFsiMCIsNTJdLFsiMSIsNTNdLFsiMiIsNTRdLFsiMyIsNTVdLFsiNCIsNTZdLFsiNSIsNTddLFsiNiIsNThdLFsiNyIsNTldLFsiOCIsNjBdLFsiOSIsNjFdLFsiLSIsNjJdLFsiXyIsNjNdXSk7c3RhdGljIEJBU0lTPTY7c3RhdGljIExDTT0yNDtzdGF0aWMgZW5jb2RlKHQpe2lmKCEvXlswLTFdKyQvLnRlc3QodCkpdGhyb3cgbmV3IFBlKCJJbnZhbGlkIGJpdEZpZWxkIik7dmFyIGU9dC5sZW5ndGgldGhpcy5MQ007dCs9ZT8iMCIucmVwZWF0KHRoaXMuTENNLWUpOiIiO2xldCBvPSIiO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9dGhpcy5CQVNJUylvKz10aGlzLkRJQ1RbcGFyc2VJbnQodC5zdWJzdHIoZSx0aGlzLkJBU0lTKSwyKV07cmV0dXJuIG99c3RhdGljIGRlY29kZSh0KXtpZighL15bQS1aYS16MC05XC1fXSskLy50ZXN0KHQpKXRocm93IG5ldyBCZSgiSW52YWxpZGx5IGVuY29kZWQgQmFzZTY0VVJMIHN0cmluZyIpO2xldCBvPSIiO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLlJFVkVSU0VfRElDVC5nZXQodFtlXSkudG9TdHJpbmcoMik7bys9IjAiLnJlcGVhdCh0aGlzLkJBU0lTLXIubGVuZ3RoKStyfXJldHVybiBvfX1jbGFzcyBWZXtzdGF0aWMgbGFuZ1NldD1uZXcgU2V0KFsiQVIiLCJCRyIsIkJTIiwiQ0EiLCJDUyIsIkNZIiwiREEiLCJERSIsIkVMIiwiRU4iLCJFUyIsIkVUIiwiRVUiLCJGSSIsIkZSIiwiR0wiLCJIRSIsIkhJIiwiSFIiLCJIVSIsIklEIiwiSVQiLCJKQSIsIktBIiwiS08iLCJMVCIsIkxWIiwiTUsiLCJNUyIsIk1UIiwiTkwiLCJOTyIsIlBMIiwiUFQtQlIiLCJQVC1QVCIsIlJPIiwiUlUiLCJTSyIsIlNMIiwiU1EiLCJTUi1MQVROIiwiU1ItQ1lSTCIsIlNWIiwiU1ciLCJUSCIsIlRMIiwiVFIiLCJVSyIsIlZJIiwiWkgiLCJaSC1IQU5UIl0pO2hhcyhlKXtyZXR1cm4gVmUubGFuZ1NldC5oYXMoZSl9cGFyc2VMYW5ndWFnZShlKXt2YXIgdD0oZT1lLnRvVXBwZXJDYXNlKCkpLnNwbGl0KCItIilbMF07aWYoMjw9ZS5sZW5ndGgmJjI9PXQubGVuZ3RoKXtpZihWZS5sYW5nU2V0LmhhcyhlKSlyZXR1cm4gZTtpZihWZS5sYW5nU2V0Lmhhcyh0KSlyZXR1cm4gdDt2YXIgbyxyPXQrIi0iK3Q7aWYoVmUubGFuZ1NldC5oYXMocikpcmV0dXJuIHI7Zm9yKG8gb2YgVmUubGFuZ1NldClpZigtMSE9PW8uaW5kZXhPZihlKXx8LTEhPT1vLmluZGV4T2YodCkpcmV0dXJuIG99dGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCBsYW5ndWFnZSAiK2UpfWZvckVhY2goZSl7VmUubGFuZ1NldC5mb3JFYWNoKGUpfWdldCBzaXplKCl7cmV0dXJuIFZlLmxhbmdTZXQuc2l6ZX19Y2xhc3MgbHtzdGF0aWMgY21wSWQ9ImNtcElkIjtzdGF0aWMgY21wVmVyc2lvbj0iY21wVmVyc2lvbiI7c3RhdGljIGNvbnNlbnRMYW5ndWFnZT0iY29uc2VudExhbmd1YWdlIjtzdGF0aWMgY29uc2VudFNjcmVlbj0iY29uc2VudFNjcmVlbiI7c3RhdGljIGNyZWF0ZWQ9ImNyZWF0ZWQiO3N0YXRpYyBzdXBwb3J0T09CPSJzdXBwb3J0T09CIjtzdGF0aWMgaXNTZXJ2aWNlU3BlY2lmaWM9ImlzU2VydmljZVNwZWNpZmljIjtzdGF0aWMgbGFzdFVwZGF0ZWQ9Imxhc3RVcGRhdGVkIjtzdGF0aWMgbnVtQ3VzdG9tUHVycG9zZXM9Im51bUN1c3RvbVB1cnBvc2VzIjtzdGF0aWMgcG9saWN5VmVyc2lvbj0icG9saWN5VmVyc2lvbiI7c3RhdGljIHB1Ymxpc2hlckNvdW50cnlDb2RlPSJwdWJsaXNoZXJDb3VudHJ5Q29kZSI7c3RhdGljIHB1Ymxpc2hlckN1c3RvbUNvbnNlbnRzPSJwdWJsaXNoZXJDdXN0b21Db25zZW50cyI7c3RhdGljIHB1Ymxpc2hlckN1c3RvbUxlZ2l0aW1hdGVJbnRlcmVzdHM9InB1Ymxpc2hlckN1c3RvbUxlZ2l0aW1hdGVJbnRlcmVzdHMiO3N0YXRpYyBwdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzPSJwdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzIjtzdGF0aWMgcHVibGlzaGVyQ29uc2VudHM9InB1Ymxpc2hlckNvbnNlbnRzIjtzdGF0aWMgcHVibGlzaGVyUmVzdHJpY3Rpb25zPSJwdWJsaXNoZXJSZXN0cmljdGlvbnMiO3N0YXRpYyBwdXJwb3NlQ29uc2VudHM9InB1cnBvc2VDb25zZW50cyI7c3RhdGljIHB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzPSJwdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cyI7c3RhdGljIHB1cnBvc2VPbmVUcmVhdG1lbnQ9InB1cnBvc2VPbmVUcmVhdG1lbnQiO3N0YXRpYyBzcGVjaWFsRmVhdHVyZU9wdGlucz0ic3BlY2lhbEZlYXR1cmVPcHRpbnMiO3N0YXRpYyB1c2VOb25TdGFuZGFyZFRleHRzPSJ1c2VOb25TdGFuZGFyZFRleHRzIjtzdGF0aWMgdmVuZG9yQ29uc2VudHM9InZlbmRvckNvbnNlbnRzIjtzdGF0aWMgdmVuZG9yTGVnaXRpbWF0ZUludGVyZXN0cz0idmVuZG9yTGVnaXRpbWF0ZUludGVyZXN0cyI7c3RhdGljIHZlbmRvckxpc3RWZXJzaW9uPSJ2ZW5kb3JMaXN0VmVyc2lvbiI7c3RhdGljIHZlbmRvcnNBbGxvd2VkPSJ2ZW5kb3JzQWxsb3dlZCI7c3RhdGljIHZlbmRvcnNEaXNjbG9zZWQ9InZlbmRvcnNEaXNjbG9zZWQiO3N0YXRpYyB2ZXJzaW9uPSJ2ZXJzaW9uIn1jbGFzcyBNZXtjbG9uZSgpe2xldCBvPW5ldyB0aGlzLmNvbnN0cnVjdG9yO3JldHVybiBPYmplY3Qua2V5cyh0aGlzKS5mb3JFYWNoKGU9Pnt2YXIgdD10aGlzLmRlZXBDbG9uZSh0aGlzW2VdKTt2b2lkIDAhPT10JiYob1tlXT10KX0pLG99ZGVlcENsb25lKGUpe3ZhciB0PXR5cGVvZiBlO2lmKCJudW1iZXIiPT10fHwic3RyaW5nIj09dHx8ImJvb2xlYW4iPT10KXJldHVybiBlO2lmKG51bGwhPT1lJiYib2JqZWN0Ij09dCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUuY2xvbmUpcmV0dXJuIGUuY2xvbmUoKTtpZihlIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoZS5nZXRUaW1lKCkpO2lmKHZvaWQgMCE9PWVbU3ltYm9sLml0ZXJhdG9yXSl7dmFyIG8scj1bXTtmb3IobyBvZiBlKXIucHVzaCh0aGlzLmRlZXBDbG9uZShvKSk7cmV0dXJuIGUgaW5zdGFuY2VvZiBBcnJheT9yOm5ldyBlLmNvbnN0cnVjdG9yKHIpfXZhciBpLG49e307Zm9yKGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYobltpXT10aGlzLmRlZXBDbG9uZShlW2ldKSk7cmV0dXJuIG59fX0oQ2U9Sz1LfHx7fSlbQ2UuTk9UX0FMTE9XRUQ9MF09Ik5PVF9BTExPV0VEIixDZVtDZS5SRVFVSVJFX0NPTlNFTlQ9MV09IlJFUVVJUkVfQ09OU0VOVCIsQ2VbQ2UuUkVRVUlSRV9MST0yXT0iUkVRVUlSRV9MSSI7Y2xhc3MgemUgZXh0ZW5kcyBNZXtzdGF0aWMgaGFzaFNlcGFyYXRvcj0iLSI7cHVycG9zZUlkXztyZXN0cmljdGlvblR5cGU7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHZvaWQgMCE9PWUmJih0aGlzLnB1cnBvc2VJZD1lKSx2b2lkIDAhPT10JiYodGhpcy5yZXN0cmljdGlvblR5cGU9dCl9c3RhdGljIHVuSGFzaChlKXt2YXIgdD1lLnNwbGl0KHRoaXMuaGFzaFNlcGFyYXRvciksbz1uZXcgemU7aWYoMiE9PXQubGVuZ3RoKXRocm93IG5ldyBqZSgiaGFzaCIsZSk7cmV0dXJuIG8ucHVycG9zZUlkPXBhcnNlSW50KHRbMF0sMTApLG8ucmVzdHJpY3Rpb25UeXBlPXBhcnNlSW50KHRbMV0sMTApLG99Z2V0IGhhc2goKXtpZih0aGlzLmlzVmFsaWQoKSlyZXR1cm4iIit0aGlzLnB1cnBvc2VJZCt6ZS5oYXNoU2VwYXJhdG9yK3RoaXMucmVzdHJpY3Rpb25UeXBlO3Rocm93IG5ldyBFcnJvcigiY2Fubm90IGhhc2ggaW52YWxpZCBQdXJwb3NlUmVzdHJpY3Rpb24iKX1nZXQgcHVycG9zZUlkKCl7cmV0dXJuIHRoaXMucHVycG9zZUlkX31zZXQgcHVycG9zZUlkKGUpe3RoaXMucHVycG9zZUlkXz1lfWlzVmFsaWQoKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih0aGlzLnB1cnBvc2VJZCkmJjA8dGhpcy5wdXJwb3NlSWQmJih0aGlzLnJlc3RyaWN0aW9uVHlwZT09PUsuTk9UX0FMTE9XRUR8fHRoaXMucmVzdHJpY3Rpb25UeXBlPT09Sy5SRVFVSVJFX0NPTlNFTlR8fHRoaXMucmVzdHJpY3Rpb25UeXBlPT09Sy5SRVFVSVJFX0xJKX1pc1NhbWVBcyhlKXtyZXR1cm4gdGhpcy5wdXJwb3NlSWQ9PT1lLnB1cnBvc2VJZCYmdGhpcy5yZXN0cmljdGlvblR5cGU9PT1lLnJlc3RyaWN0aW9uVHlwZX19Y2xhc3MgRmUgZXh0ZW5kcyBNZXtiaXRMZW5ndGg9MDttYXA9bmV3IE1hcDtndmxfO2hhcyhlKXtyZXR1cm4gdGhpcy5tYXAuaGFzKGUpfWlzT2tUb0hhdmUoZSx0LG8pe2xldCByPSEwO2lmKHRoaXMuZ3ZsPy52ZW5kb3JzKXt2YXIgaT10aGlzLmd2bC52ZW5kb3JzW29dO2lmKGkpaWYoZT09PUsuTk9UX0FMTE9XRUQpcj1pLmxlZ0ludFB1cnBvc2VzLmluY2x1ZGVzKHQpfHxpLnB1cnBvc2VzLmluY2x1ZGVzKHQpO2Vsc2UgaWYoaS5mbGV4aWJsZVB1cnBvc2VzLmxlbmd0aClzd2l0Y2goZSl7Y2FzZSBLLlJFUVVJUkVfQ09OU0VOVDpyPWkuZmxleGlibGVQdXJwb3Nlcy5pbmNsdWRlcyh0KSYmaS5sZWdJbnRQdXJwb3Nlcy5pbmNsdWRlcyh0KTticmVhaztjYXNlIEsuUkVRVUlSRV9MSTpyPWkuZmxleGlibGVQdXJwb3Nlcy5pbmNsdWRlcyh0KSYmaS5wdXJwb3Nlcy5pbmNsdWRlcyh0KX1lbHNlIHI9ITE7ZWxzZSByPSExfXJldHVybiByfWFkZChlLHQpe3RoaXMuaXNPa1RvSGF2ZSh0LnJlc3RyaWN0aW9uVHlwZSx0LnB1cnBvc2VJZCxlKSYmKHQ9dC5oYXNoLHRoaXMuaGFzKHQpfHwodGhpcy5tYXAuc2V0KHQsbmV3IFNldCksdGhpcy5iaXRMZW5ndGg9MCksdGhpcy5tYXAuZ2V0KHQpLmFkZChlKSl9cmVzdHJpY3RQdXJwb3NlVG9MZWdhbEJhc2lzKGUpe3ZhciB0PUFycmF5LmZyb20odGhpcy5ndmwudmVuZG9ySWRzKSxvPWUuaGFzaCxyPXRbdC5sZW5ndGgtMV0sZT1bLi4uQXJyYXkocikua2V5cygpXS5tYXAoZT0+ZSsxKTtpZih0aGlzLmhhcyhvKSlmb3IobGV0IGU9MTtlPD1yO2UrKyl0aGlzLm1hcC5nZXQobykuYWRkKGUpO2Vsc2UgdGhpcy5tYXAuc2V0KG8sbmV3IFNldChlKSksdGhpcy5iaXRMZW5ndGg9MH1nZXRWZW5kb3JzKGUpe2xldCBvPVtdO2lmKGUpe2U9ZS5oYXNoO3RoaXMuaGFzKGUpJiYobz1BcnJheS5mcm9tKHRoaXMubWFwLmdldChlKSkpfWVsc2V7bGV0IHQ9bmV3IFNldDt0aGlzLm1hcC5mb3JFYWNoKGU9PntlLmZvckVhY2goZT0+e3QuYWRkKGUpfSl9KSxvPUFycmF5LmZyb20odCl9cmV0dXJuIG8uc29ydCgoZSx0KT0+ZS10KX1nZXRSZXN0cmljdGlvblR5cGUoZSx0KXtsZXQgbztyZXR1cm4gdGhpcy5nZXRSZXN0cmljdGlvbnMoZSkuZm9yRWFjaChlPT57ZS5wdXJwb3NlSWQ9PT10JiYodm9pZCAwPT09b3x8bz5lLnJlc3RyaWN0aW9uVHlwZSkmJihvPWUucmVzdHJpY3Rpb25UeXBlKX0pLG99dmVuZG9ySGFzUmVzdHJpY3Rpb24oZSx0KXtsZXQgbz0hMTt2YXIgcj10aGlzLmdldFJlc3RyaWN0aW9ucyhlKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoJiYhbztlKyspbz10LmlzU2FtZUFzKHJbZV0pO3JldHVybiBvfWdldE1heFZlbmRvcklkKCl7bGV0IHQ9MDtyZXR1cm4gdGhpcy5tYXAuZm9yRWFjaChlPT57dD1NYXRoLm1heChBcnJheS5mcm9tKGUpW2Uuc2l6ZS0xXSx0KX0pLHR9Z2V0UmVzdHJpY3Rpb25zKG8pe2xldCByPVtdO3JldHVybiB0aGlzLm1hcC5mb3JFYWNoKChlLHQpPT57KCFvfHxlLmhhcyhvKSkmJnIucHVzaCh6ZS51bkhhc2godCkpfSkscn1nZXRQdXJwb3Nlcygpe2xldCBvPW5ldyBTZXQ7cmV0dXJuIHRoaXMubWFwLmZvckVhY2goKGUsdCk9PntvLmFkZCh6ZS51bkhhc2godCkucHVycG9zZUlkKX0pLEFycmF5LmZyb20obyl9cmVtb3ZlKGUsdCl7dmFyIHQ9dC5oYXNoLG89dGhpcy5tYXAuZ2V0KHQpO28mJihvLmRlbGV0ZShlKSwwPT1vLnNpemUpJiYodGhpcy5tYXAuZGVsZXRlKHQpLHRoaXMuYml0TGVuZ3RoPTApfXNldCBndmwoZSl7dGhpcy5ndmxffHwodGhpcy5ndmxfPWUsdGhpcy5tYXAuZm9yRWFjaCgodCxlKT0+e2xldCBvPXplLnVuSGFzaChlKTtBcnJheS5mcm9tKHQpLmZvckVhY2goZT0+e3RoaXMuaXNPa1RvSGF2ZShvLnJlc3RyaWN0aW9uVHlwZSxvLnB1cnBvc2VJZCxlKXx8dC5kZWxldGUoZSl9KX0pKX1nZXQgZ3ZsKCl7cmV0dXJuIHRoaXMuZ3ZsX31pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLm1hcC5zaXplfWdldCBudW1SZXN0cmljdGlvbnMoKXtyZXR1cm4gdGhpcy5tYXAuc2l6ZX19KHQ9UT1RfHx7fSkuQ09SRT0iY29yZSIsdC5WRU5ET1JTX0RJU0NMT1NFRD0idmVuZG9yc0Rpc2Nsb3NlZCIsdC5WRU5ET1JTX0FMTE9XRUQ9InZlbmRvcnNBbGxvd2VkIix0LlBVQkxJU0hFUl9UQz0icHVibGlzaGVyVEMiO2NsYXNzIFVle3N0YXRpYyBJRF9UT19LRVk9W1EuQ09SRSxRLlZFTkRPUlNfRElTQ0xPU0VELFEuVkVORE9SU19BTExPV0VELFEuUFVCTElTSEVSX1RDXTtzdGF0aWMgS0VZX1RPX0lEPXtbUS5DT1JFXTowLFtRLlZFTkRPUlNfRElTQ0xPU0VEXToxLFtRLlZFTkRPUlNfQUxMT1dFRF06MixbUS5QVUJMSVNIRVJfVENdOjN9fWNsYXNzIFdlIGV4dGVuZHMgTWV7Yml0TGVuZ3RoPTA7bWF4SWRfPTA7c2V0Xz1uZXcgU2V0OypbU3ltYm9sLml0ZXJhdG9yXSgpe2ZvcihsZXQgZT0xO2U8PXRoaXMubWF4SWQ7ZSsrKXlpZWxkW2UsdGhpcy5oYXMoZSldfXZhbHVlcygpe3JldHVybiB0aGlzLnNldF8udmFsdWVzKCl9Z2V0IG1heElkKCl7cmV0dXJuIHRoaXMubWF4SWRffWhhcyhlKXtyZXR1cm4gdGhpcy5zZXRfLmhhcyhlKX11bnNldChlKXtBcnJheS5pc0FycmF5KGUpP2UuZm9yRWFjaChlPT50aGlzLnVuc2V0KGUpKToib2JqZWN0Ij09dHlwZW9mIGU/dGhpcy51bnNldChPYmplY3Qua2V5cyhlKS5tYXAoZT0+TnVtYmVyKGUpKSk6KHRoaXMuc2V0Xy5kZWxldGUoTnVtYmVyKGUpKSx0aGlzLmJpdExlbmd0aD0wLGU9PT10aGlzLm1heElkJiYodGhpcy5tYXhJZF89MCx0aGlzLnNldF8uZm9yRWFjaChlPT57dGhpcy5tYXhJZF89TWF0aC5tYXgodGhpcy5tYXhJZCxlKX0pKSl9aXNJbnRNYXAodCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZPYmplY3Qua2V5cyh0KS5ldmVyeShlPT5OdW1iZXIuaXNJbnRlZ2VyKHBhcnNlSW50KGUsMTApKSYmdGhpcy5pc1ZhbGlkTnVtYmVyKHRbZV0uaWQpJiZ2b2lkIDAhPT10W2VdLm5hbWUpfWlzVmFsaWROdW1iZXIoZSl7cmV0dXJuIDA8cGFyc2VJbnQoZSwxMCl9aXNTZXQoZSl7bGV0IHQ9ITE7cmV0dXJuIHQ9ZSBpbnN0YW5jZW9mIFNldD9BcnJheS5mcm9tKGUpLmV2ZXJ5KHRoaXMuaXNWYWxpZE51bWJlcik6dH1zZXQoZSl7aWYoQXJyYXkuaXNBcnJheShlKSllLmZvckVhY2goZT0+dGhpcy5zZXQoZSkpO2Vsc2UgaWYodGhpcy5pc1NldChlKSl0aGlzLnNldChBcnJheS5mcm9tKGUpKTtlbHNlIGlmKHRoaXMuaXNJbnRNYXAoZSkpdGhpcy5zZXQoT2JqZWN0LmtleXMoZSkubWFwKGU9Pk51bWJlcihlKSkpO2Vsc2V7aWYoIXRoaXMuaXNWYWxpZE51bWJlcihlKSl0aHJvdyBuZXcgamUoInNldCgpIixlLCJtdXN0IGJlIHBvc2l0aXZlIGludGVnZXIgYXJyYXksIHBvc2l0aXZlIGludGVnZXIsIFNldDxudW1iZXI+LCBvciBJbnRNYXAiKTt0aGlzLnNldF8uYWRkKGUpLHRoaXMubWF4SWRfPU1hdGgubWF4KHRoaXMubWF4SWQsZSksdGhpcy5iaXRMZW5ndGg9MH19ZW1wdHkoKXt0aGlzLnNldF89bmV3IFNldH1mb3JFYWNoKHQpe2ZvcihsZXQgZT0xO2U8PXRoaXMubWF4SWQ7ZSsrKXQodGhpcy5oYXMoZSksZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5zZXRfLnNpemV9c2V0QWxsKGUpe3RoaXMuc2V0KGUpfX1jbGFzcyB1e3N0YXRpY1tsLmNtcElkXT0xMjtzdGF0aWNbbC5jbXBWZXJzaW9uXT0xMjtzdGF0aWNbbC5jb25zZW50TGFuZ3VhZ2VdPTEyO3N0YXRpY1tsLmNvbnNlbnRTY3JlZW5dPTY7c3RhdGljW2wuY3JlYXRlZF09MzY7c3RhdGljW2wuaXNTZXJ2aWNlU3BlY2lmaWNdPTE7c3RhdGljW2wubGFzdFVwZGF0ZWRdPTM2O3N0YXRpY1tsLnBvbGljeVZlcnNpb25dPTY7c3RhdGljW2wucHVibGlzaGVyQ291bnRyeUNvZGVdPTEyO3N0YXRpY1tsLnB1Ymxpc2hlckxlZ2l0aW1hdGVJbnRlcmVzdHNdPTI0O3N0YXRpY1tsLnB1Ymxpc2hlckNvbnNlbnRzXT0yNDtzdGF0aWNbbC5wdXJwb3NlQ29uc2VudHNdPTI0O3N0YXRpY1tsLnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzXT0yNDtzdGF0aWNbbC5wdXJwb3NlT25lVHJlYXRtZW50XT0xO3N0YXRpY1tsLnNwZWNpYWxGZWF0dXJlT3B0aW5zXT0xMjtzdGF0aWNbbC51c2VOb25TdGFuZGFyZFRleHRzXT0xO3N0YXRpY1tsLnZlbmRvckxpc3RWZXJzaW9uXT0xMjtzdGF0aWNbbC52ZXJzaW9uXT02O3N0YXRpYyBhbnlCb29sZWFuPTE7c3RhdGljIGVuY29kaW5nVHlwZT0xO3N0YXRpYyBtYXhJZD0xNjtzdGF0aWMgbnVtQ3VzdG9tUHVycG9zZXM9NjtzdGF0aWMgbnVtRW50cmllcz0xMjtzdGF0aWMgbnVtUmVzdHJpY3Rpb25zPTEyO3N0YXRpYyBwdXJwb3NlSWQ9NjtzdGF0aWMgcmVzdHJpY3Rpb25UeXBlPTI7c3RhdGljIHNlZ21lbnRUeXBlPTM7c3RhdGljIHNpbmdsZU9yUmFuZ2U9MTtzdGF0aWMgdmVuZG9ySWQ9MTZ9Y2xhc3MgSGV7c3RhdGljIGVuY29kZShlKXtyZXR1cm4gU3RyaW5nKE51bWJlcihlKSl9c3RhdGljIGRlY29kZShlKXtyZXR1cm4iMSI9PT1lfX1jbGFzcyBne3N0YXRpYyBlbmNvZGUoZSx0KXtsZXQgbztpZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXBhcnNlSW50KGUsMTApKSwobz1lLnRvU3RyaW5nKDIpKS5sZW5ndGg+dHx8ZTwwKXRocm93IG5ldyBQZShlKyIgdG9vIGxhcmdlIHRvIGVuY29kZSBpbnRvICIrdCk7cmV0dXJuIG89by5sZW5ndGg8dD8iMCIucmVwZWF0KHQtby5sZW5ndGgpK286b31zdGF0aWMgZGVjb2RlKGUsdCl7aWYodCE9PWUubGVuZ3RoKXRocm93IG5ldyBCZSgiaW52YWxpZCBiaXQgbGVuZ3RoIik7cmV0dXJuIHBhcnNlSW50KGUsMil9fWNsYXNzIEdle3N0YXRpYyBlbmNvZGUoZSx0KXtyZXR1cm4gZy5lbmNvZGUoTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xMDApLHQpfXN0YXRpYyBkZWNvZGUoZSx0KXtpZih0IT09ZS5sZW5ndGgpdGhyb3cgbmV3IEJlKCJpbnZhbGlkIGJpdCBsZW5ndGgiKTt2YXIgbz1uZXcgRGF0ZTtyZXR1cm4gby5zZXRUaW1lKDEwMCpnLmRlY29kZShlLHQpKSxvfX1jbGFzcyBxZXtzdGF0aWMgZW5jb2RlKHQsbyl7bGV0IHI9IiI7Zm9yKGxldCBlPTE7ZTw9bztlKyspcis9SGUuZW5jb2RlKHQuaGFzKGUpKTtyZXR1cm4gcn1zdGF0aWMgZGVjb2RlKHQsbyl7aWYodC5sZW5ndGghPT1vKXRocm93IG5ldyBCZSgiYml0ZmllbGQgZW5jb2RpbmcgbGVuZ3RoIG1pc21hdGNoIik7dmFyIHI9bmV3IFdlO2ZvcihsZXQgZT0xO2U8PW87ZSsrKUhlLmRlY29kZSh0W2UtMV0pJiZyLnNldChlKTtyZXR1cm4gci5iaXRMZW5ndGg9dC5sZW5ndGgscn19Y2xhc3MgS2V7c3RhdGljIGVuY29kZShlLHQpe3ZhciBvPShlPWUudG9VcHBlckNhc2UoKSkuY2hhckNvZGVBdCgwKS02NSxyPWUuY2hhckNvZGVBdCgxKS02NTtpZihvPDB8fDI1PG98fHI8MHx8MjU8cil0aHJvdyBuZXcgUGUoImludmFsaWQgbGFuZ3VhZ2UgY29kZTogIitlKTtpZih0JTI9PTEpdGhyb3cgbmV3IFBlKGBudW1CaXRzIG11c3QgYmUgZXZlbiwgJHt0fSBpcyBub3QgdmFsaWRgKTtyZXR1cm4gdC89MixnLmVuY29kZShvLHQpK2cuZW5jb2RlKHIsdCl9c3RhdGljIGRlY29kZShlLHQpe2xldCBvO2lmKHQhPT1lLmxlbmd0aHx8ZS5sZW5ndGglMil0aHJvdyBuZXcgQmUoImludmFsaWQgYml0IGxlbmd0aCBmb3IgbGFuZ3VhZ2UiKTt2YXIgdD1lLmxlbmd0aC8yLHI9Zy5kZWNvZGUoZS5zbGljZSgwLHQpLHQpKzY1LGU9Zy5kZWNvZGUoZS5zbGljZSh0KSx0KSs2NTtyZXR1cm4gbz1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpK1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9fWNsYXNzIFFle3N0YXRpYyBlbmNvZGUobCl7bGV0IGM9Zy5lbmNvZGUobC5udW1SZXN0cmljdGlvbnMsdS5udW1SZXN0cmljdGlvbnMpO2lmKCFsLmlzRW1wdHkoKSlsLmdldFJlc3RyaWN0aW9ucygpLmZvckVhY2goZT0+e2M9KGMrPWcuZW5jb2RlKGUucHVycG9zZUlkLHUucHVycG9zZUlkKSkrZy5lbmNvZGUoZS5yZXN0cmljdGlvblR5cGUsdS5yZXN0cmljdGlvblR5cGUpO3ZhciB0PWwuZ2V0VmVuZG9ycyhlKSxvPXQubGVuZ3RoO2xldCByPTAsaT0wLG49IiI7Zm9yKGxldCBlPTA7ZTxvO2UrKyl7dmFyIGEscz10W2VdOzA9PT1pJiYocisrLGk9cyksKGU9PT1vLTF8fHRbZSsxXT4oKHQsbyk9Pntmb3IobGV0IGU9dCsxO2U8PW87ZSsrKWlmKGwuZ3ZsLnZlbmRvcklkcy5oYXMoZSkpcmV0dXJuIGU7cmV0dXJuIHR9KShzLHRbby0xXSkpJiYoYT0hKHM9PT1pKSxuPShuKz1IZS5lbmNvZGUoYSkpK2cuZW5jb2RlKGksdS52ZW5kb3JJZCksYSYmKG4rPWcuZW5jb2RlKHMsdS52ZW5kb3JJZCkpLGk9MCl9Yz0oYys9Zy5lbmNvZGUocix1Lm51bUVudHJpZXMpKStufSk7cmV0dXJuIGN9c3RhdGljIGRlY29kZSh0KXtsZXQgbz0wO3ZhciByPW5ldyBGZSxpPWcuZGVjb2RlKHQuc3Vic3RyKG8sdS5udW1SZXN0cmljdGlvbnMpLHUubnVtUmVzdHJpY3Rpb25zKTtvKz11Lm51bVJlc3RyaWN0aW9ucztmb3IobGV0IGU9MDtlPGk7ZSsrKXt2YXIgbj1nLmRlY29kZSh0LnN1YnN0cihvLHUucHVycG9zZUlkKSx1LnB1cnBvc2VJZCksYT0obys9dS5wdXJwb3NlSWQsZy5kZWNvZGUodC5zdWJzdHIobyx1LnJlc3RyaWN0aW9uVHlwZSksdS5yZXN0cmljdGlvblR5cGUpKSxzPShvKz11LnJlc3RyaWN0aW9uVHlwZSxuZXcgemUobixhKSksbD1nLmRlY29kZSh0LnN1YnN0cihvLHUubnVtRW50cmllcyksdS5udW1FbnRyaWVzKTtvKz11Lm51bUVudHJpZXM7Zm9yKGxldCBlPTA7ZTxsO2UrKyl7dmFyIGM9SGUuZGVjb2RlKHQuc3Vic3RyKG8sdS5hbnlCb29sZWFuKSksZD0obys9dS5hbnlCb29sZWFuLGcuZGVjb2RlKHQuc3Vic3RyKG8sdS52ZW5kb3JJZCksdS52ZW5kb3JJZCkpO2lmKG8rPXUudmVuZG9ySWQsYyl7dmFyIHA9Zy5kZWNvZGUodC5zdWJzdHIobyx1LnZlbmRvcklkKSx1LnZlbmRvcklkKTtpZihvKz11LnZlbmRvcklkLHA8ZCl0aHJvdyBuZXcgQmUoYEludmFsaWQgUmFuZ2VFbnRyeTogZW5kVmVuZG9ySWQgJHtwfSBpcyBsZXNzIHRoYW4gYCtkKTtmb3IobGV0IGU9ZDtlPD1wO2UrKylyLmFkZChlLHMpfWVsc2Ugci5hZGQoZCxzKX19cmV0dXJuIHIuYml0TGVuZ3RoPW8scn19KHZlPUo9Snx8e30pW3ZlLkZJRUxEPTBdPSJGSUVMRCIsdmVbdmUuUkFOR0U9MV09IlJBTkdFIjtjbGFzcyBKZXtzdGF0aWMgZW5jb2RlKG8pe2xldCByPVtdLGk9W10sZT1nLmVuY29kZShvLm1heElkLHUubWF4SWQpLG49IiIsYTt2YXIgdD11Lm1heElkK3UuZW5jb2RpbmdUeXBlO2xldCBzPXQrby5tYXhJZCxsPTIqdS52ZW5kb3JJZCt1LnNpbmdsZU9yUmFuZ2UrdS5udW1FbnRyaWVzLGM9dCt1Lm51bUVudHJpZXM7cmV0dXJuIG8uZm9yRWFjaCgoZSx0KT0+e24rPUhlLmVuY29kZShlKSwoYT1vLm1heElkPmwmJmM8cykmJmUmJihvLmhhcyh0KzEpPzA9PT1pLmxlbmd0aCYmKGkucHVzaCh0KSxjPShjKz11LnNpbmdsZU9yUmFuZ2UpK3UudmVuZG9ySWQpOihpLnB1c2godCksYys9dS52ZW5kb3JJZCxyLnB1c2goaSksaT1bXSkpfSksZT1hPyhlKz1TdHJpbmcoSi5SQU5HRSkpK3RoaXMuYnVpbGRSYW5nZUVuY29kaW5nKHIpOihlKz1TdHJpbmcoSi5GSUVMRCkpK259c3RhdGljIGRlY29kZSh0LGUpe2xldCBvLHI9MDt2YXIgaT1nLmRlY29kZSh0LnN1YnN0cihyLHUubWF4SWQpLHUubWF4SWQpLG49KHIrPXUubWF4SWQsZy5kZWNvZGUodC5jaGFyQXQociksdS5lbmNvZGluZ1R5cGUpKTtpZihyKz11LmVuY29kaW5nVHlwZSxuPT09Si5SQU5HRSl7aWYobz1uZXcgV2UsMT09PWUpe2lmKCIxIj09PXQuc3Vic3RyKHIsMSkpdGhyb3cgbmV3IEJlKCJVbmFibGUgdG8gZGVjb2RlIGRlZmF1bHQgY29uc2VudD0xIik7cisrfXZhciBhPWcuZGVjb2RlKHQuc3Vic3RyKHIsdS5udW1FbnRyaWVzKSx1Lm51bUVudHJpZXMpO3IrPXUubnVtRW50cmllcztmb3IobGV0IGU9MDtlPGE7ZSsrKXt2YXIgcz1IZS5kZWNvZGUodC5jaGFyQXQocikpLGw9KHIrPXUuc2luZ2xlT3JSYW5nZSxnLmRlY29kZSh0LnN1YnN0cihyLHUudmVuZG9ySWQpLHUudmVuZG9ySWQpKTtpZihyKz11LnZlbmRvcklkLHMpe3ZhciBjPWcuZGVjb2RlKHQuc3Vic3RyKHIsdS52ZW5kb3JJZCksdS52ZW5kb3JJZCk7cis9dS52ZW5kb3JJZDtmb3IobGV0IGU9bDtlPD1jO2UrKylvLnNldChlKX1lbHNlIG8uc2V0KGwpfX1lbHNle249dC5zdWJzdHIocixpKTtyKz1pLG89cWUuZGVjb2RlKG4saSl9cmV0dXJuIG8uYml0TGVuZ3RoPXIsb31zdGF0aWMgYnVpbGRSYW5nZUVuY29kaW5nKGUpe3ZhciB0PWUubGVuZ3RoO2xldCBvPWcuZW5jb2RlKHQsdS5udW1FbnRyaWVzKTtyZXR1cm4gZS5mb3JFYWNoKGU9Pnt2YXIgdD0xPT09ZS5sZW5ndGg7bz0obys9SGUuZW5jb2RlKCF0KSkrZy5lbmNvZGUoZVswXSx1LnZlbmRvcklkKSx0fHwobys9Zy5lbmNvZGUoZVsxXSx1LnZlbmRvcklkKSl9KSxvfX1mdW5jdGlvbiBaZSgpe3JldHVybntbbC52ZXJzaW9uXTpnLFtsLmNyZWF0ZWRdOkdlLFtsLmxhc3RVcGRhdGVkXTpHZSxbbC5jbXBJZF06ZyxbbC5jbXBWZXJzaW9uXTpnLFtsLmNvbnNlbnRTY3JlZW5dOmcsW2wuY29uc2VudExhbmd1YWdlXTpLZSxbbC52ZW5kb3JMaXN0VmVyc2lvbl06ZyxbbC5wb2xpY3lWZXJzaW9uXTpnLFtsLmlzU2VydmljZVNwZWNpZmljXTpIZSxbbC51c2VOb25TdGFuZGFyZFRleHRzXTpIZSxbbC5zcGVjaWFsRmVhdHVyZU9wdGluc106cWUsW2wucHVycG9zZUNvbnNlbnRzXTpxZSxbbC5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0c106cWUsW2wucHVycG9zZU9uZVRyZWF0bWVudF06SGUsW2wucHVibGlzaGVyQ291bnRyeUNvZGVdOktlLFtsLnZlbmRvckNvbnNlbnRzXTpKZSxbbC52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzXTpKZSxbbC5wdWJsaXNoZXJSZXN0cmljdGlvbnNdOlFlLHNlZ21lbnRUeXBlOmcsW2wudmVuZG9yc0Rpc2Nsb3NlZF06SmUsW2wudmVuZG9yc0FsbG93ZWRdOkplLFtsLnB1Ymxpc2hlckNvbnNlbnRzXTpxZSxbbC5wdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzXTpxZSxbbC5udW1DdXN0b21QdXJwb3Nlc106ZyxbbC5wdWJsaXNoZXJDdXN0b21Db25zZW50c106cWUsW2wucHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0c106cWV9fWNsYXNzIFllezE9e1tRLkNPUkVdOltsLnZlcnNpb24sbC5jcmVhdGVkLGwubGFzdFVwZGF0ZWQsbC5jbXBJZCxsLmNtcFZlcnNpb24sbC5jb25zZW50U2NyZWVuLGwuY29uc2VudExhbmd1YWdlLGwudmVuZG9yTGlzdFZlcnNpb24sbC5wdXJwb3NlQ29uc2VudHMsbC52ZW5kb3JDb25zZW50c119OzI9e1tRLkNPUkVdOltsLnZlcnNpb24sbC5jcmVhdGVkLGwubGFzdFVwZGF0ZWQsbC5jbXBJZCxsLmNtcFZlcnNpb24sbC5jb25zZW50U2NyZWVuLGwuY29uc2VudExhbmd1YWdlLGwudmVuZG9yTGlzdFZlcnNpb24sbC5wb2xpY3lWZXJzaW9uLGwuaXNTZXJ2aWNlU3BlY2lmaWMsbC51c2VOb25TdGFuZGFyZFRleHRzLGwuc3BlY2lhbEZlYXR1cmVPcHRpbnMsbC5wdXJwb3NlQ29uc2VudHMsbC5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cyxsLnB1cnBvc2VPbmVUcmVhdG1lbnQsbC5wdWJsaXNoZXJDb3VudHJ5Q29kZSxsLnZlbmRvckNvbnNlbnRzLGwudmVuZG9yTGVnaXRpbWF0ZUludGVyZXN0cyxsLnB1Ymxpc2hlclJlc3RyaWN0aW9uc10sW1EuUFVCTElTSEVSX1RDXTpbbC5wdWJsaXNoZXJDb25zZW50cyxsLnB1Ymxpc2hlckxlZ2l0aW1hdGVJbnRlcmVzdHMsbC5udW1DdXN0b21QdXJwb3NlcyxsLnB1Ymxpc2hlckN1c3RvbUNvbnNlbnRzLGwucHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0c10sW1EuVkVORE9SU19BTExPV0VEXTpbbC52ZW5kb3JzQWxsb3dlZF0sW1EuVkVORE9SU19ESVNDTE9TRURdOltsLnZlbmRvcnNEaXNjbG9zZWRdfX1jbGFzcyBYZXsxPVtRLkNPUkVdOzI9W1EuQ09SRV07Y29uc3RydWN0b3IoZSx0KXsyPT09ZS52ZXJzaW9uJiYoZS5pc1NlcnZpY2VTcGVjaWZpYz90aGlzWzJdLnB1c2goUS5QVUJMSVNIRVJfVEMpOigodD0hKCF0fHwhdC5pc0ZvclZlbmRvcnMpKSYmITAhPT1lW2wuc3VwcG9ydE9PQl18fHRoaXNbMl0ucHVzaChRLlZFTkRPUlNfRElTQ0xPU0VEKSx0JiYoZVtsLnN1cHBvcnRPT0JdJiYwPGVbbC52ZW5kb3JzQWxsb3dlZF0uc2l6ZSYmdGhpc1syXS5wdXNoKFEuVkVORE9SU19BTExPV0VEKSx0aGlzWzJdLnB1c2goUS5QVUJMSVNIRVJfVEMpKSkpfX1jbGFzcyBldHtzdGF0aWMgZmllbGRTZXF1ZW5jZT1uZXcgWWU7c3RhdGljIGVuY29kZShpLG4pe2xldCBlO3RyeXtlPXRoaXMuZmllbGRTZXF1ZW5jZVtTdHJpbmcoaS52ZXJzaW9uKV1bbl19Y2F0Y2goZSl7dGhyb3cgbmV3IFBlKGBVbmFibGUgdG8gZW5jb2RlIHZlcnNpb246ICR7aS52ZXJzaW9ufSwgc2VnbWVudDogYCtuKX1sZXQgYT0iIixzPShuIT09US5DT1JFJiYoYT1nLmVuY29kZShVZS5LRVlfVE9fSURbbl0sdS5zZWdtZW50VHlwZSkpLFplKCkpO3JldHVybiBlLmZvckVhY2godD0+e3ZhciBlPWlbdF0sbz1zW3RdO2xldCByPXVbdF07dm9pZCAwPT09ciYmdGhpcy5pc1B1Ymxpc2hlckN1c3RvbSh0KSYmKHI9TnVtYmVyKGlbbC5udW1DdXN0b21QdXJwb3Nlc10pKTt0cnl7YSs9by5lbmNvZGUoZSxyKX1jYXRjaChlKXt0aHJvdyBuZXcgUGUoYEVycm9yIGVuY29kaW5nICR7bn0tPiR7dH06IGArZS5tZXNzYWdlKX19KSxOZS5lbmNvZGUoYSl9c3RhdGljIGRlY29kZShlLGksdCl7bGV0IG49TmUuZGVjb2RlKGUpLGE9MDt0PT09US5DT1JFJiYoaS52ZXJzaW9uPWcuZGVjb2RlKG4uc3Vic3RyKGEsdVtsLnZlcnNpb25dKSx1W2wudmVyc2lvbl0pKSx0IT09US5DT1JFJiYoYSs9dS5zZWdtZW50VHlwZSk7ZT10aGlzLmZpZWxkU2VxdWVuY2VbU3RyaW5nKGkudmVyc2lvbildW3RdO2xldCBzPVplKCk7cmV0dXJuIGUuZm9yRWFjaChlPT57dmFyIHQ9c1tlXTtsZXQgbz11W2VdO2lmKDAhPT0obz12b2lkIDA9PT1vJiZ0aGlzLmlzUHVibGlzaGVyQ3VzdG9tKGUpP051bWJlcihpW2wubnVtQ3VzdG9tUHVycG9zZXNdKTpvKSl7dmFyIHI9bi5zdWJzdHIoYSxvKTtpZih0PT09SmU/aVtlXT10LmRlY29kZShyLGkudmVyc2lvbik6aVtlXT10LmRlY29kZShyLG8pLE51bWJlci5pc0ludGVnZXIobykpYSs9bztlbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGlbZV0uYml0TGVuZ3RoKSl0aHJvdyBuZXcgQmUoZSk7YSs9aVtlXS5iaXRMZW5ndGh9fX0pLGl9c3RhdGljIGlzUHVibGlzaGVyQ3VzdG9tKGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCJwdWJsaXNoZXJDdXN0b20iKX19Y2xhc3MgdHR7c3RhdGljIGFic0NhbGwocixpLG4sYSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0LGUpPT57bGV0IG89bmV3IFhNTEh0dHBSZXF1ZXN0O28ud2l0aENyZWRlbnRpYWxzPW4sby5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2lmKG8ucmVhZHlTdGF0ZT09WE1MSHR0cFJlcXVlc3QuRE9ORSlpZigyMDA8PW8uc3RhdHVzJiZvLnN0YXR1czwzMDApe2xldCBlPW8ucmVzcG9uc2U7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXQoZSl9ZWxzZSBlKG5ldyBFcnJvcihgSFRUUCBTdGF0dXM6ICR7by5zdGF0dXN9IHJlc3BvbnNlIHR5cGU6IGArby5yZXNwb25zZVR5cGUpKX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT57ZShuZXcgRXJyb3IoImVycm9yIikpfSksby5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntlKG5ldyBFcnJvcigiYWJvcnRlZCIpKX0pLG51bGw9PT1pP28ub3BlbigiR0VUIixyLCEwKTpvLm9wZW4oIlBPU1QiLHIsITApLG8ucmVzcG9uc2VUeXBlPSJqc29uIixvLnRpbWVvdXQ9YSxvLm9udGltZW91dD0oKT0+e2UobmV3IEVycm9yKCJUaW1lb3V0ICIrYSsibXMgIityKSl9LG8uc2VuZChpKX0pfXN0YXRpYyBwb3N0KGUsdCxvPSExLHI9MCl7cmV0dXJuIHRoaXMuYWJzQ2FsbChlLEpTT04uc3RyaW5naWZ5KHQpLG8scil9c3RhdGljIGZldGNoKGUsdD0hMSxvPTApe3JldHVybiB0aGlzLmFic0NhbGwoZSxudWxsLHQsbyl9fWNsYXNzIHYgZXh0ZW5kcyBNZXtzdGF0aWMgTEFOR1VBR0VfQ0FDSEU9bmV3IE1hcDtzdGF0aWMgQ0FDSEU9bmV3IE1hcDtzdGF0aWMgTEFURVNUX0NBQ0hFX0tFWT0wO3N0YXRpYyBERUZBVUxUX0xBTkdVQUdFPSJFTiI7c3RhdGljIGNvbnNlbnRMYW5ndWFnZXM9bmV3IFZlO3N0YXRpYyBiYXNlVXJsXztzdGF0aWMgc2V0IGJhc2VVcmwoZSl7aWYoL15odHRwcz86XC9cL3ZlbmRvcmxpc3RcLmNvbnNlbnN1XC5vcmdcLy8udGVzdChlKSl0aHJvdyBuZXcgX2UoIkludmFsaWQgYmFzZVVybCEgIFlvdSBtYXkgbm90IHB1bGwgZGlyZWN0bHkgZnJvbSB2ZW5kb3JsaXN0LmNvbnNlbnN1Lm9yZyBhbmQgbXVzdCBwcm92aWRlIHlvdXIgb3duIGNhY2hlIik7MDxlLmxlbmd0aCYmIi8iIT09ZVtlLmxlbmd0aC0xXSYmKGUrPSIvIiksdGhpcy5iYXNlVXJsXz1lfXN0YXRpYyBnZXQgYmFzZVVybCgpe3JldHVybiB0aGlzLmJhc2VVcmxffXN0YXRpYyBsYXRlc3RGaWxlbmFtZT0idmVuZG9yLWxpc3QuanNvbiI7c3RhdGljIHZlcnNpb25lZEZpbGVuYW1lPSJhcmNoaXZlcy92ZW5kb3ItbGlzdC12W1ZFUlNJT05dLmpzb24iO3N0YXRpYyBsYW5ndWFnZUZpbGVuYW1lPSJwdXJwb3Nlcy1bTEFOR10uanNvbiI7cmVhZHlQcm9taXNlO2d2bFNwZWNpZmljYXRpb25WZXJzaW9uO3ZlbmRvckxpc3RWZXJzaW9uO3RjZlBvbGljeVZlcnNpb247bGFzdFVwZGF0ZWQ7cHVycG9zZXM7c3BlY2lhbFB1cnBvc2VzO2ZlYXR1cmVzO3NwZWNpYWxGZWF0dXJlcztpc1JlYWR5Xz0hMTt2ZW5kb3JzXzt2ZW5kb3JJZHM7ZnVsbFZlbmRvckxpc3Q7YnlQdXJwb3NlVmVuZG9yTWFwO2J5U3BlY2lhbFB1cnBvc2VWZW5kb3JNYXA7YnlGZWF0dXJlVmVuZG9yTWFwO2J5U3BlY2lhbEZlYXR1cmVWZW5kb3JNYXA7c3RhY2tzO2RhdGFDYXRlZ29yaWVzO2xhbmdfO2NhY2hlTGFuZ187aXNMYXRlc3Q9ITE7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpO2xldCBvPXYuYmFzZVVybCxyPXQ/Lmxhbmd1YWdlO2lmKHIpdHJ5e3I9di5jb25zZW50TGFuZ3VhZ2VzLnBhcnNlTGFuZ3VhZ2Uocil9Y2F0Y2goZSl7dGhyb3cgbmV3IF9lKCJFcnJvciBkdXJpbmcgcGFyc2luZyB0aGUgbGFuZ3VhZ2U6ICIrZS5tZXNzYWdlKX1pZih0aGlzLmxhbmdfPXJ8fHYuREVGQVVMVF9MQU5HVUFHRSx0aGlzLmNhY2hlTGFuZ189cnx8di5ERUZBVUxUX0xBTkdVQUdFLHRoaXMuaXNWZW5kb3JMaXN0KGUpKXRoaXMucG9wdWxhdGUoZSksdGhpcy5yZWFkeVByb21pc2U9UHJvbWlzZS5yZXNvbHZlKCk7ZWxzZXtpZighbyl0aHJvdyBuZXcgX2UoIm11c3Qgc3BlY2lmeSBHVkwuYmFzZVVybCBiZWZvcmUgbG9hZGluZyBHVkwganNvbiIpOzA8ZT8odD1lLHYuQ0FDSEUuaGFzKHQpPyh0aGlzLnBvcHVsYXRlKHYuQ0FDSEUuZ2V0KHQpKSx0aGlzLnJlYWR5UHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKSk6KG8rPXYudmVyc2lvbmVkRmlsZW5hbWUucmVwbGFjZSgiW1ZFUlNJT05dIixTdHJpbmcodCkpLHRoaXMucmVhZHlQcm9taXNlPXRoaXMuZmV0Y2hKc29uKG8pKSk6di5DQUNIRS5oYXModi5MQVRFU1RfQ0FDSEVfS0VZKT8odGhpcy5wb3B1bGF0ZSh2LkNBQ0hFLmdldCh2LkxBVEVTVF9DQUNIRV9LRVkpKSx0aGlzLnJlYWR5UHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKSk6KHRoaXMuaXNMYXRlc3Q9ITAsdGhpcy5yZWFkeVByb21pc2U9dGhpcy5mZXRjaEpzb24obyt2LmxhdGVzdEZpbGVuYW1lKSl9fXN0YXRpYyBlbXB0eUxhbmd1YWdlQ2FjaGUoZSl7bGV0IHQ9ITE7cmV0dXJuIG51bGw9PWUmJjA8di5MQU5HVUFHRV9DQUNIRS5zaXplPyh2LkxBTkdVQUdFX0NBQ0hFPW5ldyBNYXAsdD0hMCk6InN0cmluZyI9PXR5cGVvZiBlJiZ0aGlzLmNvbnNlbnRMYW5ndWFnZXMuaGFzKGUudG9VcHBlckNhc2UoKSkmJih2LkxBTkdVQUdFX0NBQ0hFLmRlbGV0ZShlLnRvVXBwZXJDYXNlKCkpLHQ9ITApLHR9c3RhdGljIGVtcHR5Q2FjaGUoZSl7bGV0IHQ9ITE7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJjA8PWU/KHYuQ0FDSEUuZGVsZXRlKGUpLHQ9ITApOnZvaWQgMD09PWUmJih2LkNBQ0hFPW5ldyBNYXAsdD0hMCksdH1jYWNoZUxhbmd1YWdlKCl7di5MQU5HVUFHRV9DQUNIRS5oYXModGhpcy5jYWNoZUxhbmdfKXx8di5MQU5HVUFHRV9DQUNIRS5zZXQodGhpcy5jYWNoZUxhbmdfLHtwdXJwb3Nlczp0aGlzLnB1cnBvc2VzLHNwZWNpYWxQdXJwb3Nlczp0aGlzLnNwZWNpYWxQdXJwb3NlcyxmZWF0dXJlczp0aGlzLmZlYXR1cmVzLHNwZWNpYWxGZWF0dXJlczp0aGlzLnNwZWNpYWxGZWF0dXJlcyxzdGFja3M6dGhpcy5zdGFja3MsZGF0YUNhdGVnb3JpZXM6dGhpcy5kYXRhQ2F0ZWdvcmllc30pfWFzeW5jIGZldGNoSnNvbihlKXt0cnl7dGhpcy5wb3B1bGF0ZShhd2FpdCB0dC5mZXRjaChlKSl9Y2F0Y2goZSl7dGhyb3cgbmV3IF9lKGUubWVzc2FnZSl9fWdldEpzb24oKXtyZXR1cm57Z3ZsU3BlY2lmaWNhdGlvblZlcnNpb246dGhpcy5ndmxTcGVjaWZpY2F0aW9uVmVyc2lvbix2ZW5kb3JMaXN0VmVyc2lvbjp0aGlzLnZlbmRvckxpc3RWZXJzaW9uLHRjZlBvbGljeVZlcnNpb246dGhpcy50Y2ZQb2xpY3lWZXJzaW9uLGxhc3RVcGRhdGVkOnRoaXMubGFzdFVwZGF0ZWQscHVycG9zZXM6dGhpcy5jbG9uZVB1cnBvc2VzKCksc3BlY2lhbFB1cnBvc2VzOnRoaXMuY2xvbmVTcGVjaWFsUHVycG9zZXMoKSxmZWF0dXJlczp0aGlzLmNsb25lRmVhdHVyZXMoKSxzcGVjaWFsRmVhdHVyZXM6dGhpcy5jbG9uZVNwZWNpYWxGZWF0dXJlcygpLHN0YWNrczp0aGlzLmNsb25lU3RhY2tzKCksLi4udGhpcy5kYXRhQ2F0ZWdvcmllcz97ZGF0YUNhdGVnb3JpZXM6dGhpcy5jbG9uZURhdGFDYXRlZ29yaWVzKCl9Ont9LHZlbmRvcnM6dGhpcy5jbG9uZVZlbmRvcnMoKX19Y2xvbmVTcGVjaWFsRmVhdHVyZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMuc3BlY2lhbEZlYXR1cmVzKSl0W2VdPXYuY2xvbmVGZWF0dXJlKHRoaXMuc3BlY2lhbEZlYXR1cmVzW2VdKTtyZXR1cm4gdH1jbG9uZUZlYXR1cmVzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLmZlYXR1cmVzKSl0W2VdPXYuY2xvbmVGZWF0dXJlKHRoaXMuZmVhdHVyZXNbZV0pO3JldHVybiB0fWNsb25lU3RhY2tzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLnN0YWNrcykpdFtlXT12LmNsb25lU3RhY2sodGhpcy5zdGFja3NbZV0pO3JldHVybiB0fWNsb25lRGF0YUNhdGVnb3JpZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMuZGF0YUNhdGVnb3JpZXMpKXRbZV09di5jbG9uZURhdGFDYXRlZ29yeSh0aGlzLmRhdGFDYXRlZ29yaWVzW2VdKTtyZXR1cm4gdH1jbG9uZVNwZWNpYWxQdXJwb3Nlcygpe3ZhciBlLHQ9e307Zm9yKGUgb2YgT2JqZWN0LmtleXModGhpcy5zcGVjaWFsUHVycG9zZXMpKXRbZV09di5jbG9uZVB1cnBvc2UodGhpcy5zcGVjaWFsUHVycG9zZXNbZV0pO3JldHVybiB0fWNsb25lUHVycG9zZXMoKXt2YXIgZSx0PXt9O2ZvcihlIG9mIE9iamVjdC5rZXlzKHRoaXMucHVycG9zZXMpKXRbZV09di5jbG9uZVB1cnBvc2UodGhpcy5wdXJwb3Nlc1tlXSk7cmV0dXJuIHR9c3RhdGljIGNsb25lUHVycG9zZShlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLC4uLmUuZGVzY3JpcHRpb25MZWdhbD97ZGVzY3JpcHRpb25MZWdhbDplLmRlc2NyaXB0aW9uTGVnYWx9Ont9LC4uLmUuaWxsdXN0cmF0aW9ucz97aWxsdXN0cmF0aW9uczpBcnJheS5mcm9tKGUuaWxsdXN0cmF0aW9ucyl9Ont9fX1zdGF0aWMgY2xvbmVGZWF0dXJlKGUpe3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sLi4uZS5kZXNjcmlwdGlvbkxlZ2FsP3tkZXNjcmlwdGlvbkxlZ2FsOmUuZGVzY3JpcHRpb25MZWdhbH06e30sLi4uZS5pbGx1c3RyYXRpb25zP3tpbGx1c3RyYXRpb25zOkFycmF5LmZyb20oZS5pbGx1c3RyYXRpb25zKX06e319fXN0YXRpYyBjbG9uZURhdGFDYXRlZ29yeShlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufX1zdGF0aWMgY2xvbmVTdGFjayhlKXtyZXR1cm57aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHB1cnBvc2VzOkFycmF5LmZyb20oZS5wdXJwb3Nlcyksc3BlY2lhbEZlYXR1cmVzOkFycmF5LmZyb20oZS5zcGVjaWFsRmVhdHVyZXMpfX1zdGF0aWMgY2xvbmVEYXRhUmV0ZW50aW9uKGUpe3JldHVybnsuLi4ibnVtYmVyIj09dHlwZW9mIGUuc3RkUmV0ZW50aW9uP3tzdGRSZXRlbnRpb246ZS5zdGRSZXRlbnRpb259Ont9LHB1cnBvc2VzOnsuLi5lLnB1cnBvc2VzfSxzcGVjaWFsUHVycG9zZXM6ey4uLmUuc3BlY2lhbFB1cnBvc2VzfX19c3RhdGljIGNsb25lVmVuZG9yVXJscyhlKXtyZXR1cm4gZS5tYXAoZT0+KHtsYW5nSWQ6ZS5sYW5nSWQscHJpdmFjeTplLnByaXZhY3ksLi4uZS5sZWdJbnRDbGFpbT97bGVnSW50Q2xhaW06ZS5sZWdJbnRDbGFpbX06e319KSl9c3RhdGljIGNsb25lVmVuZG9yKGUpe3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLHB1cnBvc2VzOkFycmF5LmZyb20oZS5wdXJwb3NlcyksbGVnSW50UHVycG9zZXM6QXJyYXkuZnJvbShlLmxlZ0ludFB1cnBvc2VzKSxmbGV4aWJsZVB1cnBvc2VzOkFycmF5LmZyb20oZS5mbGV4aWJsZVB1cnBvc2VzKSxzcGVjaWFsUHVycG9zZXM6QXJyYXkuZnJvbShlLnNwZWNpYWxQdXJwb3NlcyksZmVhdHVyZXM6QXJyYXkuZnJvbShlLmZlYXR1cmVzKSxzcGVjaWFsRmVhdHVyZXM6QXJyYXkuZnJvbShlLnNwZWNpYWxGZWF0dXJlcyksLi4uZS5vdmVyZmxvdz97b3ZlcmZsb3c6e2h0dHBHZXRMaW1pdDplLm92ZXJmbG93Lmh0dHBHZXRMaW1pdH19Ont9LC4uLiJudW1iZXIiPT10eXBlb2YgZS5jb29raWVNYXhBZ2VTZWNvbmRzfHxudWxsPT09ZS5jb29raWVNYXhBZ2VTZWNvbmRzP3tjb29raWVNYXhBZ2VTZWNvbmRzOmUuY29va2llTWF4QWdlU2Vjb25kc306e30sLi4udm9pZCAwIT09ZS51c2VzQ29va2llcz97dXNlc0Nvb2tpZXM6ZS51c2VzQ29va2llc306e30sLi4uZS5wb2xpY3lVcmw/e3BvbGljeVVybDplLnBvbGljeVVybH06e30sLi4udm9pZCAwIT09ZS5jb29raWVSZWZyZXNoP3tjb29raWVSZWZyZXNoOmUuY29va2llUmVmcmVzaH06e30sLi4udm9pZCAwIT09ZS51c2VzTm9uQ29va2llQWNjZXNzP3t1c2VzTm9uQ29va2llQWNjZXNzOmUudXNlc05vbkNvb2tpZUFjY2Vzc306e30sLi4uZS5kYXRhUmV0ZW50aW9uP3tkYXRhUmV0ZW50aW9uOnRoaXMuY2xvbmVEYXRhUmV0ZW50aW9uKGUuZGF0YVJldGVudGlvbil9Ont9LC4uLmUudXJscz97dXJsczp0aGlzLmNsb25lVmVuZG9yVXJscyhlLnVybHMpfTp7fSwuLi5lLmRhdGFEZWNsYXJhdGlvbj97ZGF0YURlY2xhcmF0aW9uOkFycmF5LmZyb20oZS5kYXRhRGVjbGFyYXRpb24pfTp7fSwuLi5lLmRldmljZVN0b3JhZ2VEaXNjbG9zdXJlVXJsP3tkZXZpY2VTdG9yYWdlRGlzY2xvc3VyZVVybDplLmRldmljZVN0b3JhZ2VEaXNjbG9zdXJlVXJsfTp7fSwuLi5lLmRlbGV0ZWREYXRlP3tkZWxldGVkRGF0ZTplLmRlbGV0ZWREYXRlfTp7fX19Y2xvbmVWZW5kb3JzKCl7dmFyIGUsdD17fTtmb3IoZSBvZiBPYmplY3Qua2V5cyh0aGlzLmZ1bGxWZW5kb3JMaXN0KSl0W2VdPXYuY2xvbmVWZW5kb3IodGhpcy5mdWxsVmVuZG9yTGlzdFtlXSk7cmV0dXJuIHR9YXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZSl7bGV0IHQ9ZTt0cnl7dD12LmNvbnNlbnRMYW5ndWFnZXMucGFyc2VMYW5ndWFnZShlKX1jYXRjaChlKXt0aHJvdyBuZXcgX2UoIkVycm9yIGR1cmluZyBwYXJzaW5nIHRoZSBsYW5ndWFnZTogIitlLm1lc3NhZ2UpfWU9ZS50b1VwcGVyQ2FzZSgpO2lmKCh0LnRvTG93ZXJDYXNlKCkhPT12LkRFRkFVTFRfTEFOR1VBR0UudG9Mb3dlckNhc2UoKXx8di5MQU5HVUFHRV9DQUNIRS5oYXMoZSkpJiZ0IT09dGhpcy5sYW5nXylpZih0aGlzLmxhbmdfPXQsdi5MQU5HVUFHRV9DQUNIRS5oYXMoZSkpe3ZhciBvLHI9di5MQU5HVUFHRV9DQUNIRS5nZXQoZSk7Zm9yKG8gaW4gcilyLmhhc093blByb3BlcnR5KG8pJiYodGhpc1tvXT1yW29dKX1lbHNle3ZhciBpPXYuYmFzZVVybCt2Lmxhbmd1YWdlRmlsZW5hbWUucmVwbGFjZSgiW0xBTkddIix0aGlzLmxhbmdfLnRvTG93ZXJDYXNlKCkpO3RyeXthd2FpdCB0aGlzLmZldGNoSnNvbihpKSx0aGlzLmNhY2hlTGFuZ189ZSx0aGlzLmNhY2hlTGFuZ3VhZ2UoKX1jYXRjaChlKXt0aHJvdyBuZXcgX2UoInVuYWJsZSB0byBsb2FkIGxhbmd1YWdlOiAiK2UubWVzc2FnZSl9fX1nZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy5sYW5nX31pc1ZlbmRvckxpc3QoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudmVuZG9yc31wb3B1bGF0ZShlKXt0aGlzLnB1cnBvc2VzPWUucHVycG9zZXMsdGhpcy5zcGVjaWFsUHVycG9zZXM9ZS5zcGVjaWFsUHVycG9zZXMsdGhpcy5mZWF0dXJlcz1lLmZlYXR1cmVzLHRoaXMuc3BlY2lhbEZlYXR1cmVzPWUuc3BlY2lhbEZlYXR1cmVzLHRoaXMuc3RhY2tzPWUuc3RhY2tzLHRoaXMuZGF0YUNhdGVnb3JpZXM9ZS5kYXRhQ2F0ZWdvcmllcyx0aGlzLmlzVmVuZG9yTGlzdChlKSYmKHRoaXMuZ3ZsU3BlY2lmaWNhdGlvblZlcnNpb249ZS5ndmxTcGVjaWZpY2F0aW9uVmVyc2lvbix0aGlzLnRjZlBvbGljeVZlcnNpb249ZS50Y2ZQb2xpY3lWZXJzaW9uLHRoaXMudmVuZG9yTGlzdFZlcnNpb249ZS52ZW5kb3JMaXN0VmVyc2lvbix0aGlzLmxhc3RVcGRhdGVkPWUubGFzdFVwZGF0ZWQsInN0cmluZyI9PXR5cGVvZiB0aGlzLmxhc3RVcGRhdGVkJiYodGhpcy5sYXN0VXBkYXRlZD1uZXcgRGF0ZSh0aGlzLmxhc3RVcGRhdGVkKSksdGhpcy52ZW5kb3JzXz1lLnZlbmRvcnMsdGhpcy5mdWxsVmVuZG9yTGlzdD1lLnZlbmRvcnMsdGhpcy5tYXBWZW5kb3JzKCksdGhpcy5pc1JlYWR5Xz0hMCx0aGlzLmlzTGF0ZXN0JiZ2LkNBQ0hFLnNldCh2LkxBVEVTVF9DQUNIRV9LRVksdGhpcy5nZXRKc29uKCkpLHYuQ0FDSEUuaGFzKHRoaXMudmVuZG9yTGlzdFZlcnNpb24pfHx2LkNBQ0hFLnNldCh0aGlzLnZlbmRvckxpc3RWZXJzaW9uLHRoaXMuZ2V0SnNvbigpKSksdGhpcy5jYWNoZUxhbmd1YWdlKCl9bWFwVmVuZG9ycyhlKXt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcD17fSx0aGlzLmJ5U3BlY2lhbFB1cnBvc2VWZW5kb3JNYXA9e30sdGhpcy5ieUZlYXR1cmVWZW5kb3JNYXA9e30sdGhpcy5ieVNwZWNpYWxGZWF0dXJlVmVuZG9yTWFwPXt9LE9iamVjdC5rZXlzKHRoaXMucHVycG9zZXMpLmZvckVhY2goZT0+e3RoaXMuYnlQdXJwb3NlVmVuZG9yTWFwW2VdPXtsZWdJbnQ6bmV3IFNldCxjb25zZW50Om5ldyBTZXQsZmxleGlibGU6bmV3IFNldH19KSxPYmplY3Qua2V5cyh0aGlzLnNwZWNpYWxQdXJwb3NlcykuZm9yRWFjaChlPT57dGhpcy5ieVNwZWNpYWxQdXJwb3NlVmVuZG9yTWFwW2VdPW5ldyBTZXR9KSxPYmplY3Qua2V5cyh0aGlzLmZlYXR1cmVzKS5mb3JFYWNoKGU9Pnt0aGlzLmJ5RmVhdHVyZVZlbmRvck1hcFtlXT1uZXcgU2V0fSksT2JqZWN0LmtleXModGhpcy5zcGVjaWFsRmVhdHVyZXMpLmZvckVhY2goZT0+e3RoaXMuYnlTcGVjaWFsRmVhdHVyZVZlbmRvck1hcFtlXT1uZXcgU2V0fSksQXJyYXkuaXNBcnJheShlKXx8KGU9T2JqZWN0LmtleXModGhpcy5mdWxsVmVuZG9yTGlzdCkubWFwKGU9PitlKSksdGhpcy52ZW5kb3JJZHM9bmV3IFNldChlKSx0aGlzLnZlbmRvcnNfPWUucmVkdWNlKChlLHQpPT57dmFyIG89dGhpcy52ZW5kb3JzX1tTdHJpbmcodCldO3JldHVybiBvJiZ2b2lkIDA9PT1vLmRlbGV0ZWREYXRlJiYoby5wdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmNvbnNlbnQuYWRkKHQpfSksby5zcGVjaWFsUHVycG9zZXMuZm9yRWFjaChlPT57dGhpcy5ieVNwZWNpYWxQdXJwb3NlVmVuZG9yTWFwW1N0cmluZyhlKV0uYWRkKHQpfSksby5sZWdJbnRQdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmxlZ0ludC5hZGQodCl9KSxvLmZsZXhpYmxlUHVycG9zZXMmJm8uZmxleGlibGVQdXJwb3Nlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5UHVycG9zZVZlbmRvck1hcFtTdHJpbmcoZSldLmZsZXhpYmxlLmFkZCh0KX0pLG8uZmVhdHVyZXMuZm9yRWFjaChlPT57dGhpcy5ieUZlYXR1cmVWZW5kb3JNYXBbU3RyaW5nKGUpXS5hZGQodCl9KSxvLnNwZWNpYWxGZWF0dXJlcy5mb3JFYWNoKGU9Pnt0aGlzLmJ5U3BlY2lhbEZlYXR1cmVWZW5kb3JNYXBbU3RyaW5nKGUpXS5hZGQodCl9KSxlW3RdPW8pLGV9LHt9KX1nZXRGaWx0ZXJlZFZlbmRvcnMoZSx0LG8scil7dmFyIGk9ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpO2xldCBuLGE9e307cmV0dXJuKG49InB1cnBvc2UiPT09ZSYmbz90aGlzWyJieSIraSsiVmVuZG9yTWFwIl1bU3RyaW5nKHQpXVtvXTp0aGlzWyJieSIrKHI/IlNwZWNpYWwiOiIiKStpKyJWZW5kb3JNYXAiXVtTdHJpbmcodCldKS5mb3JFYWNoKGU9PnthW1N0cmluZyhlKV09dGhpcy52ZW5kb3JzW1N0cmluZyhlKV19KSxhfWdldFZlbmRvcnNXaXRoQ29uc2VudFB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLCJjb25zZW50Iil9Z2V0VmVuZG9yc1dpdGhMZWdJbnRQdXJwb3NlKGUpe3JldHVybiB0aGlzLmdldEZpbHRlcmVkVmVuZG9ycygicHVycG9zZSIsZSwibGVnSW50Iil9Z2V0VmVuZG9yc1dpdGhGbGV4aWJsZVB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLCJmbGV4aWJsZSIpfWdldFZlbmRvcnNXaXRoU3BlY2lhbFB1cnBvc2UoZSl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVyZWRWZW5kb3JzKCJwdXJwb3NlIixlLHZvaWQgMCwhMCl9Z2V0VmVuZG9yc1dpdGhGZWF0dXJlKGUpe3JldHVybiB0aGlzLmdldEZpbHRlcmVkVmVuZG9ycygiZmVhdHVyZSIsZSl9Z2V0VmVuZG9yc1dpdGhTcGVjaWFsRmVhdHVyZShlKXtyZXR1cm4gdGhpcy5nZXRGaWx0ZXJlZFZlbmRvcnMoImZlYXR1cmUiLGUsdm9pZCAwLCEwKX1nZXQgdmVuZG9ycygpe3JldHVybiB0aGlzLnZlbmRvcnNffW5hcnJvd1ZlbmRvcnNUbyhlKXt0aGlzLm1hcFZlbmRvcnMoZSl9Z2V0IGlzUmVhZHkoKXtyZXR1cm4gdGhpcy5pc1JlYWR5X31jbG9uZSgpe3ZhciBlPW5ldyB2KHRoaXMuZ2V0SnNvbigpKTtyZXR1cm4gdGhpcy5sYW5nXyE9PXYuREVGQVVMVF9MQU5HVUFHRSYmZS5jaGFuZ2VMYW5ndWFnZSh0aGlzLmxhbmdfKSxlfXN0YXRpYyBpc0luc3RhbmNlT2YoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5uYXJyb3dWZW5kb3JzVG99fWNsYXNzIG90IGV4dGVuZHMgTWV7c3RhdGljIGNvbnNlbnRMYW5ndWFnZXM9di5jb25zZW50TGFuZ3VhZ2VzO2lzU2VydmljZVNwZWNpZmljXz0hMTtzdXBwb3J0T09CXz0hMDt1c2VOb25TdGFuZGFyZFRleHRzXz0hMTtwdXJwb3NlT25lVHJlYXRtZW50Xz0hMTtwdWJsaXNoZXJDb3VudHJ5Q29kZV89IkFBIjt2ZXJzaW9uXz0yO2NvbnNlbnRTY3JlZW5fPTA7cG9saWN5VmVyc2lvbl89NDtjb25zZW50TGFuZ3VhZ2VfPSJFTiI7Y21wSWRfPTA7Y21wVmVyc2lvbl89MDt2ZW5kb3JMaXN0VmVyc2lvbl89MDtudW1DdXN0b21QdXJwb3Nlc189MDtndmxfO2NyZWF0ZWQ7bGFzdFVwZGF0ZWQ7c3BlY2lhbEZlYXR1cmVPcHRpbnM9bmV3IFdlO3B1cnBvc2VDb25zZW50cz1uZXcgV2U7cHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHM9bmV3IFdlO3B1Ymxpc2hlckNvbnNlbnRzPW5ldyBXZTtwdWJsaXNoZXJMZWdpdGltYXRlSW50ZXJlc3RzPW5ldyBXZTtwdWJsaXNoZXJDdXN0b21Db25zZW50cz1uZXcgV2U7cHVibGlzaGVyQ3VzdG9tTGVnaXRpbWF0ZUludGVyZXN0cz1uZXcgV2U7Y3VzdG9tUHVycG9zZXM7dmVuZG9yQ29uc2VudHM9bmV3IFdlO3ZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHM9bmV3IFdlO3ZlbmRvcnNEaXNjbG9zZWQ9bmV3IFdlO3ZlbmRvcnNBbGxvd2VkPW5ldyBXZTtwdWJsaXNoZXJSZXN0cmljdGlvbnM9bmV3IEZlO2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksZSYmKHRoaXMuZ3ZsPWUpLHRoaXMudXBkYXRlZCgpfXNldCBndmwoZSl7di5pc0luc3RhbmNlT2YoZSl8fChlPW5ldyB2KGUpKSx0aGlzLmd2bF89ZSx0aGlzLnB1Ymxpc2hlclJlc3RyaWN0aW9ucy5ndmw9ZX1nZXQgZ3ZsKCl7cmV0dXJuIHRoaXMuZ3ZsX31zZXQgY21wSWQoZSl7aWYoZT1OdW1iZXIoZSksIShOdW1iZXIuaXNJbnRlZ2VyKGUpJiYxPGUpKXRocm93IG5ldyBqZSgiY21wSWQiLGUpO3RoaXMuY21wSWRfPWV9Z2V0IGNtcElkKCl7cmV0dXJuIHRoaXMuY21wSWRffXNldCBjbXBWZXJzaW9uKGUpe2lmKGU9TnVtYmVyKGUpLCEoTnVtYmVyLmlzSW50ZWdlcihlKSYmLTE8ZSkpdGhyb3cgbmV3IGplKCJjbXBWZXJzaW9uIixlKTt0aGlzLmNtcFZlcnNpb25fPWV9Z2V0IGNtcFZlcnNpb24oKXtyZXR1cm4gdGhpcy5jbXBWZXJzaW9uX31zZXQgY29uc2VudFNjcmVlbihlKXtpZihlPU51bWJlcihlKSwhKE51bWJlci5pc0ludGVnZXIoZSkmJi0xPGUpKXRocm93IG5ldyBqZSgiY29uc2VudFNjcmVlbiIsZSk7dGhpcy5jb25zZW50U2NyZWVuXz1lfWdldCBjb25zZW50U2NyZWVuKCl7cmV0dXJuIHRoaXMuY29uc2VudFNjcmVlbl99c2V0IGNvbnNlbnRMYW5ndWFnZShlKXt0aGlzLmNvbnNlbnRMYW5ndWFnZV89ZX1nZXQgY29uc2VudExhbmd1YWdlKCl7cmV0dXJuIHRoaXMuY29uc2VudExhbmd1YWdlX31zZXQgcHVibGlzaGVyQ291bnRyeUNvZGUoZSl7aWYoIS9eKFtBLXpdKXsyfSQvLnRlc3QoZSkpdGhyb3cgbmV3IGplKCJwdWJsaXNoZXJDb3VudHJ5Q29kZSIsZSk7dGhpcy5wdWJsaXNoZXJDb3VudHJ5Q29kZV89ZS50b1VwcGVyQ2FzZSgpfWdldCBwdWJsaXNoZXJDb3VudHJ5Q29kZSgpe3JldHVybiB0aGlzLnB1Ymxpc2hlckNvdW50cnlDb2RlX31zZXQgdmVuZG9yTGlzdFZlcnNpb24oZSl7aWYoKGU9TnVtYmVyKGUpPj4wKTwwKXRocm93IG5ldyBqZSgidmVuZG9yTGlzdFZlcnNpb24iLGUpO3RoaXMudmVuZG9yTGlzdFZlcnNpb25fPWV9Z2V0IHZlbmRvckxpc3RWZXJzaW9uKCl7cmV0dXJuIHRoaXMuZ3ZsP3RoaXMuZ3ZsLnZlbmRvckxpc3RWZXJzaW9uOnRoaXMudmVuZG9yTGlzdFZlcnNpb25ffXNldCBwb2xpY3lWZXJzaW9uKGUpe2lmKHRoaXMucG9saWN5VmVyc2lvbl89cGFyc2VJbnQoZSwxMCksdGhpcy5wb2xpY3lWZXJzaW9uXzwwKXRocm93IG5ldyBqZSgicG9saWN5VmVyc2lvbiIsZSl9Z2V0IHBvbGljeVZlcnNpb24oKXtyZXR1cm4gdGhpcy5ndmw/dGhpcy5ndmwudGNmUG9saWN5VmVyc2lvbjp0aGlzLnBvbGljeVZlcnNpb25ffXNldCB2ZXJzaW9uKGUpe3RoaXMudmVyc2lvbl89cGFyc2VJbnQoZSwxMCl9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy52ZXJzaW9uX31zZXQgaXNTZXJ2aWNlU3BlY2lmaWMoZSl7dGhpcy5pc1NlcnZpY2VTcGVjaWZpY189ZX1nZXQgaXNTZXJ2aWNlU3BlY2lmaWMoKXtyZXR1cm4gdGhpcy5pc1NlcnZpY2VTcGVjaWZpY199c2V0IHVzZU5vblN0YW5kYXJkVGV4dHMoZSl7dGhpcy51c2VOb25TdGFuZGFyZFRleHRzXz1lfWdldCB1c2VOb25TdGFuZGFyZFRleHRzKCl7cmV0dXJuIHRoaXMudXNlTm9uU3RhbmRhcmRUZXh0c199c2V0IHN1cHBvcnRPT0IoZSl7dGhpcy5zdXBwb3J0T09CXz1lfWdldCBzdXBwb3J0T09CKCl7cmV0dXJuIHRoaXMuc3VwcG9ydE9PQl99c2V0IHB1cnBvc2VPbmVUcmVhdG1lbnQoZSl7dGhpcy5wdXJwb3NlT25lVHJlYXRtZW50Xz1lfWdldCBwdXJwb3NlT25lVHJlYXRtZW50KCl7cmV0dXJuIHRoaXMucHVycG9zZU9uZVRyZWF0bWVudF99c2V0QWxsVmVuZG9yQ29uc2VudHMoKXt0aGlzLnZlbmRvckNvbnNlbnRzLnNldCh0aGlzLmd2bC52ZW5kb3JzKX11bnNldEFsbFZlbmRvckNvbnNlbnRzKCl7dGhpcy52ZW5kb3JDb25zZW50cy5lbXB0eSgpfXNldEFsbFZlbmRvcnNEaXNjbG9zZWQoKXt0aGlzLnZlbmRvcnNEaXNjbG9zZWQuc2V0KHRoaXMuZ3ZsLnZlbmRvcnMpfXVuc2V0QWxsVmVuZG9yc0Rpc2Nsb3NlZCgpe3RoaXMudmVuZG9yc0Rpc2Nsb3NlZC5lbXB0eSgpfXNldEFsbFZlbmRvcnNBbGxvd2VkKCl7dGhpcy52ZW5kb3JzQWxsb3dlZC5zZXQodGhpcy5ndmwudmVuZG9ycyl9dW5zZXRBbGxWZW5kb3JzQWxsb3dlZCgpe3RoaXMudmVuZG9yc0FsbG93ZWQuZW1wdHkoKX1zZXRBbGxWZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKCl7dGhpcy52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLnNldCh0aGlzLmd2bC52ZW5kb3JzKX11bnNldEFsbFZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMoKXt0aGlzLnZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMuZW1wdHkoKX1zZXRBbGxQdXJwb3NlQ29uc2VudHMoKXt0aGlzLnB1cnBvc2VDb25zZW50cy5zZXQodGhpcy5ndmwucHVycG9zZXMpfXVuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCl7dGhpcy5wdXJwb3NlQ29uc2VudHMuZW1wdHkoKX1zZXRBbGxQdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cygpe3RoaXMucHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMuc2V0KHRoaXMuZ3ZsLnB1cnBvc2VzKX11bnNldEFsbFB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKCl7dGhpcy5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cy5lbXB0eSgpfXNldEFsbFNwZWNpYWxGZWF0dXJlT3B0aW5zKCl7dGhpcy5zcGVjaWFsRmVhdHVyZU9wdGlucy5zZXQodGhpcy5ndmwuc3BlY2lhbEZlYXR1cmVzKX11bnNldEFsbFNwZWNpYWxGZWF0dXJlT3B0aW5zKCl7dGhpcy5zcGVjaWFsRmVhdHVyZU9wdGlucy5lbXB0eSgpfXNldEFsbCgpe3RoaXMuc2V0QWxsVmVuZG9yQ29uc2VudHMoKSx0aGlzLnNldEFsbFB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKCksdGhpcy5zZXRBbGxTcGVjaWFsRmVhdHVyZU9wdGlucygpLHRoaXMuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCksdGhpcy5zZXRBbGxWZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKCl9dW5zZXRBbGwoKXt0aGlzLnVuc2V0QWxsVmVuZG9yQ29uc2VudHMoKSx0aGlzLnVuc2V0QWxsUHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMoKSx0aGlzLnVuc2V0QWxsU3BlY2lhbEZlYXR1cmVPcHRpbnMoKSx0aGlzLnVuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCksdGhpcy51bnNldEFsbFZlbmRvckxlZ2l0aW1hdGVJbnRlcmVzdHMoKX1nZXQgbnVtQ3VzdG9tUHVycG9zZXMoKXtsZXQgZT10aGlzLm51bUN1c3RvbVB1cnBvc2VzXzt2YXIgdDtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHRoaXMuY3VzdG9tUHVycG9zZXMmJih0PU9iamVjdC5rZXlzKHRoaXMuY3VzdG9tUHVycG9zZXMpLnNvcnQoKGUsdCk9Pk51bWJlcihlKS1OdW1iZXIodCkpLGU9cGFyc2VJbnQodC5wb3AoKSwxMCkpLGV9c2V0IG51bUN1c3RvbVB1cnBvc2VzKGUpe2lmKHRoaXMubnVtQ3VzdG9tUHVycG9zZXNfPXBhcnNlSW50KGUsMTApLHRoaXMubnVtQ3VzdG9tUHVycG9zZXNfPDApdGhyb3cgbmV3IGplKCJudW1DdXN0b21QdXJwb3NlcyIsZSl9dXBkYXRlZCgpe3ZhciBlPW5ldyBEYXRlLGU9bmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRVVENGdWxsWWVhcigpLGUuZ2V0VVRDTW9udGgoKSxlLmdldFVUQ0RhdGUoKSkpO3RoaXMuY3JlYXRlZD1lLHRoaXMubGFzdFVwZGF0ZWQ9ZX19Y2xhc3MgcnR7c3RhdGljIGVuY29kZShyLGUpe2xldCBpPSIiLG47cmV0dXJuIHI9Y2xhc3N7c3RhdGljIHByb2Nlc3Nvcj1bZT0+ZSwoYSxvKT0+e2EucHVibGlzaGVyUmVzdHJpY3Rpb25zLmd2bD1vLGEucHVycG9zZUxlZ2l0aW1hdGVJbnRlcmVzdHMudW5zZXQoWzEsMyw0LDUsNl0pO3ZhciBlPW5ldyBNYXA7cmV0dXJuIGUuc2V0KCJsZWdJbnRQdXJwb3NlcyIsYS52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKSxlLnNldCgicHVycG9zZXMiLGEudmVuZG9yQ29uc2VudHMpLGUuZm9yRWFjaCgoaSxuKT0+e2kuZm9yRWFjaCgoZSx0KT0+e2lmKGUpe2U9by52ZW5kb3JzW3RdO2lmKCFlfHxlLmRlbGV0ZWREYXRlKWkudW5zZXQodCk7ZWxzZSBpZigwPT09ZVtuXS5sZW5ndGgpaWYoImxlZ0ludFB1cnBvc2VzIj09PW4mJjA9PT1lLnB1cnBvc2VzLmxlbmd0aCYmMD09PWUubGVnSW50UHVycG9zZXMubGVuZ3RoJiYwPGUuc3BlY2lhbFB1cnBvc2VzLmxlbmd0aClpLnNldCh0KTtlbHNlIGlmKCJsZWdJbnRQdXJwb3NlcyI9PT1uJiYwPGUucHVycG9zZXMubGVuZ3RoJiYwPT09ZS5sZWdJbnRQdXJwb3Nlcy5sZW5ndGgmJjA8ZS5zcGVjaWFsUHVycG9zZXMubGVuZ3RoKWkuc2V0KHQpO2Vsc2UgaWYoYS5pc1NlcnZpY2VTcGVjaWZpYylpZigwPT09ZS5mbGV4aWJsZVB1cnBvc2VzLmxlbmd0aClpLnVuc2V0KHQpO2Vsc2V7dmFyIHI9YS5wdWJsaXNoZXJSZXN0cmljdGlvbnMuZ2V0UmVzdHJpY3Rpb25zKHQpO2xldCBvPSExO2ZvcihsZXQgZT0wLHQ9ci5sZW5ndGg7ZTx0JiYhbztlKyspbz1yW2VdLnJlc3RyaWN0aW9uVHlwZT09PUsuUkVRVUlSRV9DT05TRU5UJiYicHVycG9zZXMiPT09bnx8cltlXS5yZXN0cmljdGlvblR5cGU9PT1LLlJFUVVJUkVfTEkmJiJsZWdJbnRQdXJwb3NlcyI9PT1uO298fGkudW5zZXQodCl9ZWxzZSBpLnVuc2V0KHQpfX0pfSksYS52ZW5kb3JzRGlzY2xvc2VkLnNldChvLnZlbmRvcnMpLGF9XTtzdGF0aWMgcHJvY2VzcyhlLHQpe3ZhciBvPWUuZ3ZsO2lmKCFvKXRocm93IG5ldyBQZSgiVW5hYmxlIHRvIGVuY29kZSBUQ01vZGVsIHdpdGhvdXQgYSBHVkwiKTtpZighby5pc1JlYWR5KXRocm93IG5ldyBQZSgiVW5hYmxlIHRvIGVuY29kZSBUQ01vZGVsIHRjTW9kZWwuZ3ZsLnJlYWR5UHJvbWlzZSBpcyBub3QgcmVzb2x2ZWQiKTsoZT1lLmNsb25lKCkpLmNvbnNlbnRMYW5ndWFnZT1vLmxhbmd1YWdlLnNsaWNlKDAsMikudG9VcHBlckNhc2UoKSwwPHQ/LnZlcnNpb24mJnQ/LnZlcnNpb248PXRoaXMucHJvY2Vzc29yLmxlbmd0aD9lLnZlcnNpb249dC52ZXJzaW9uOmUudmVyc2lvbj10aGlzLnByb2Nlc3Nvci5sZW5ndGg7dD1lLnZlcnNpb24tMTtpZih0aGlzLnByb2Nlc3Nvclt0XSlyZXR1cm4gdGhpcy5wcm9jZXNzb3JbdF0oZSxvKTt0aHJvdyBuZXcgUGUoIkludmFsaWQgdmVyc2lvbjogIitlLnZlcnNpb24pfX0ucHJvY2VzcyhyLGUpLChuPUFycmF5LmlzQXJyYXkoZT8uc2VnbWVudHMpP2Uuc2VnbWVudHM6bmV3IFhlKHIsZSlbIiIrci52ZXJzaW9uXSkuZm9yRWFjaCgoZSx0KT0+e2xldCBvPSIiO3Q8bi5sZW5ndGgtMSYmKG89Ii4iKSxpKz1ldC5lbmNvZGUocixlKStvfSksaX1zdGF0aWMgZGVjb2RlKGUsdCl7dmFyIG89ZS5zcGxpdCgiLiIpLHI9by5sZW5ndGg7dD10fHxuZXcgb3Q7Zm9yKGxldCBlPTA7ZTxyO2UrKyl7dmFyIGk9b1tlXSxuPU5lLmRlY29kZShpLmNoYXJBdCgwKSkuc3Vic3RyKDAsdS5zZWdtZW50VHlwZSksbj1VZS5JRF9UT19LRVlbZy5kZWNvZGUobix1LnNlZ21lbnRUeXBlKS50b1N0cmluZygpXTtldC5kZWNvZGUoaSx0LG4pfXJldHVybiB0fX0obz1aPVp8fHt9KS5QSU5HPSJwaW5nIixvLkdFVF9UQ19EQVRBPSJnZXRUQ0RhdGEiLG8uR0VUX0lOX0FQUF9UQ19EQVRBPSJnZXRJbkFwcFRDRGF0YSIsby5HRVRfVkVORE9SX0xJU1Q9ImdldFZlbmRvckxpc3QiLG8uQUREX0VWRU5UX0xJU1RFTkVSPSJhZGRFdmVudExpc3RlbmVyIixvLlJFTU9WRV9FVkVOVF9MSVNURU5FUj0icmVtb3ZlRXZlbnRMaXN0ZW5lciIsKGtlPVk9WXx8e30pLlNUVUI9InN0dWIiLGtlLkxPQURJTkc9ImxvYWRpbmciLGtlLkxPQURFRD0ibG9hZGVkIixrZS5FUlJPUj0iZXJyb3IiLChJZT1yZT1yZXx8e30pLlZJU0lCTEU9InZpc2libGUiLEllLkhJRERFTj0iaGlkZGVuIixJZS5ESVNBQkxFRD0iZGlzYWJsZWQiLChTZT1hZT1hZXx8e30pLlRDX0xPQURFRD0idGNsb2FkZWQiLFNlLkNNUF9VSV9TSE9XTj0iY21wdWlzaG93biIsU2UuVVNFUl9BQ1RJT05fQ09NUExFVEU9InVzZXJhY3Rpb25jb21wbGV0ZSI7Y2xhc3MgaXR7bGlzdGVuZXJJZDtjYWxsYmFjaztuZXh0O3BhcmFtO3N1Y2Nlc3M9ITA7Y29uc3RydWN0b3IoZSx0LG8scil7T2JqZWN0LmFzc2lnbih0aGlzLHtjYWxsYmFjazplLGxpc3RlbmVySWQ6byxwYXJhbTp0LG5leHQ6cn0pO3RyeXt0aGlzLnJlc3BvbmQoKX1jYXRjaChlKXt0aGlzLmludm9rZUNhbGxiYWNrKG51bGwpfX1pbnZva2VDYWxsYmFjayhlKXt2YXIgdD1udWxsIT09ZTsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5uZXh0P3RoaXMuY2FsbGJhY2sodGhpcy5uZXh0LGUsdCk6dGhpcy5jYWxsYmFjayhlLHQpfX1jbGFzcyBudCBleHRlbmRzIGl0e3Jlc3BvbmQoKXt0aGlzLnRocm93SWZQYXJhbUludmFsaWQoKSx0aGlzLmludm9rZUNhbGxiYWNrKG5ldyBjdCh0aGlzLnBhcmFtLHRoaXMubGlzdGVuZXJJZCkpfXRocm93SWZQYXJhbUludmFsaWQoKXtpZighKHZvaWQgMD09PXRoaXMucGFyYW18fEFycmF5LmlzQXJyYXkodGhpcy5wYXJhbSkmJnRoaXMucGFyYW0uZXZlcnkoTnVtYmVyLmlzSW50ZWdlcikpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBQYXJhbWV0ZXIiKX19Y2xhc3MgYXR7ZXZlbnRRdWV1ZT1uZXcgTWFwO3F1ZXVlTnVtYmVyPTA7YWRkKGUpe3JldHVybiB0aGlzLmV2ZW50UXVldWUuc2V0KHRoaXMucXVldWVOdW1iZXIsZSksdGhpcy5xdWV1ZU51bWJlcisrfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5ldmVudFF1ZXVlLmRlbGV0ZShlKX1leGVjKCl7dGhpcy5ldmVudFF1ZXVlLmZvckVhY2goKGUsdCk9PntuZXcgbnQoZS5jYWxsYmFjayxlLnBhcmFtLHQsZS5uZXh0KX0pfWNsZWFyKCl7dGhpcy5xdWV1ZU51bWJlcj0wLHRoaXMuZXZlbnRRdWV1ZS5jbGVhcigpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuZXZlbnRRdWV1ZS5zaXplfX1jbGFzcyBpe3N0YXRpYyBhcGlWZXJzaW9uPSIyIjtzdGF0aWMgdGNmUG9saWN5VmVyc2lvbjtzdGF0aWMgZXZlbnRRdWV1ZT1uZXcgYXQ7c3RhdGljIGNtcFN0YXR1cz1ZLkxPQURJTkc7c3RhdGljIGRpc2FibGVkPSExO3N0YXRpYyBkaXNwbGF5U3RhdHVzPXJlLkhJRERFTjtzdGF0aWMgY21wSWQ7c3RhdGljIGNtcFZlcnNpb247c3RhdGljIGV2ZW50U3RhdHVzO3N0YXRpYyBnZHByQXBwbGllcztzdGF0aWMgdGNNb2RlbDtzdGF0aWMgdGNTdHJpbmc7c3RhdGljIHJlc2V0KCl7ZGVsZXRlIHRoaXMuY21wSWQsZGVsZXRlIHRoaXMuY21wVmVyc2lvbixkZWxldGUgdGhpcy5ldmVudFN0YXR1cyxkZWxldGUgdGhpcy5nZHByQXBwbGllcyxkZWxldGUgdGhpcy50Y01vZGVsLGRlbGV0ZSB0aGlzLnRjU3RyaW5nLGRlbGV0ZSB0aGlzLnRjZlBvbGljeVZlcnNpb24sdGhpcy5jbXBTdGF0dXM9WS5MT0FESU5HLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5kaXNwbGF5U3RhdHVzPXJlLkhJRERFTix0aGlzLmV2ZW50UXVldWUuY2xlYXIoKX19Y2xhc3Mgc3R7Y21wSWQ9aS5jbXBJZDtjbXBWZXJzaW9uPWkuY21wVmVyc2lvbjtnZHByQXBwbGllcz1pLmdkcHJBcHBsaWVzO3RjZlBvbGljeVZlcnNpb249aS50Y2ZQb2xpY3lWZXJzaW9ufWNsYXNzIGx0IGV4dGVuZHMgc3R7Y21wU3RhdHVzPVkuRVJST1J9Y2xhc3MgY3QgZXh0ZW5kcyBzdHt0Y1N0cmluZztsaXN0ZW5lcklkO2V2ZW50U3RhdHVzO2NtcFN0YXR1cztpc1NlcnZpY2VTcGVjaWZpYzt1c2VOb25TdGFuZGFyZFRleHRzO3B1Ymxpc2hlckNDO3B1cnBvc2VPbmVUcmVhdG1lbnQ7b3V0T2ZCYW5kO3B1cnBvc2U7dmVuZG9yO3NwZWNpYWxGZWF0dXJlT3B0aW5zO3B1Ymxpc2hlcjtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5ldmVudFN0YXR1cz1pLmV2ZW50U3RhdHVzLHRoaXMuY21wU3RhdHVzPWkuY21wU3RhdHVzLHRoaXMubGlzdGVuZXJJZD10LGkuZ2RwckFwcGxpZXMmJih0PWkudGNNb2RlbCx0aGlzLnRjU3RyaW5nPWkudGNTdHJpbmcsdGhpcy5pc1NlcnZpY2VTcGVjaWZpYz10LmlzU2VydmljZVNwZWNpZmljLHRoaXMudXNlTm9uU3RhbmRhcmRUZXh0cz10LnVzZU5vblN0YW5kYXJkVGV4dHMsdGhpcy5wdXJwb3NlT25lVHJlYXRtZW50PXQucHVycG9zZU9uZVRyZWF0bWVudCx0aGlzLnB1Ymxpc2hlckNDPXQucHVibGlzaGVyQ291bnRyeUNvZGUsdGhpcy5vdXRPZkJhbmQ9e2FsbG93ZWRWZW5kb3JzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JzQWxsb3dlZCxlKSxkaXNjbG9zZWRWZW5kb3JzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JzRGlzY2xvc2VkLGUpfSx0aGlzLnB1cnBvc2U9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdXJwb3NlQ29uc2VudHMpLGxlZ2l0aW1hdGVJbnRlcmVzdHM6dGhpcy5jcmVhdGVWZWN0b3JGaWVsZCh0LnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKX0sdGhpcy52ZW5kb3I9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JDb25zZW50cyxlKSxsZWdpdGltYXRlSW50ZXJlc3RzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLGUpfSx0aGlzLnNwZWNpYWxGZWF0dXJlT3B0aW5zPXRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5zcGVjaWFsRmVhdHVyZU9wdGlucyksdGhpcy5wdWJsaXNoZXI9e2NvbnNlbnRzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdWJsaXNoZXJDb25zZW50cyksbGVnaXRpbWF0ZUludGVyZXN0czp0aGlzLmNyZWF0ZVZlY3RvckZpZWxkKHQucHVibGlzaGVyTGVnaXRpbWF0ZUludGVyZXN0cyksY3VzdG9tUHVycG9zZTp7Y29uc2VudHM6dGhpcy5jcmVhdGVWZWN0b3JGaWVsZCh0LnB1Ymxpc2hlckN1c3RvbUNvbnNlbnRzKSxsZWdpdGltYXRlSW50ZXJlc3RzOnRoaXMuY3JlYXRlVmVjdG9yRmllbGQodC5wdWJsaXNoZXJDdXN0b21MZWdpdGltYXRlSW50ZXJlc3RzKX0scmVzdHJpY3Rpb25zOnRoaXMuY3JlYXRlUmVzdHJpY3Rpb25zKHQucHVibGlzaGVyUmVzdHJpY3Rpb25zKX0pfWNyZWF0ZVJlc3RyaWN0aW9ucyh0KXtsZXQgcj17fTtpZigwPHQubnVtUmVzdHJpY3Rpb25zKXt2YXIgbz10LmdldE1heFZlbmRvcklkKCk7Zm9yKGxldCBlPTE7ZTw9bztlKyspe2xldCBvPWUudG9TdHJpbmcoKTt0LmdldFJlc3RyaWN0aW9ucyhlKS5mb3JFYWNoKGU9Pnt2YXIgdD1lLnB1cnBvc2VJZC50b1N0cmluZygpO3JbdF18fChyW3RdPXt9KSxyW3RdW29dPWUucmVzdHJpY3Rpb25UeXBlfSl9fXJldHVybiByfWNyZWF0ZVZlY3RvckZpZWxkKG8sZSl7cmV0dXJuIGU/ZS5yZWR1Y2UoKGUsdCk9PihlW1N0cmluZyh0KV09by5oYXMoTnVtYmVyKHQpKSxlKSx7fSk6Wy4uLm9dLnJlZHVjZSgoZSx0KT0+KGVbdFswXS50b1N0cmluZygxMCldPXRbMV0sZSkse30pfX1jbGFzcyBkdCBleHRlbmRzIGN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLGRlbGV0ZSB0aGlzLm91dE9mQmFuZH1jcmVhdGVWZWN0b3JGaWVsZChlKXtyZXR1cm5bLi4uZV0ucmVkdWNlKChlLHQpPT5lKz10WzFdPyIxIjoiMCIsIiIpfWNyZWF0ZVJlc3RyaWN0aW9ucyhlKXtsZXQgbj17fTtpZigwPGUubnVtUmVzdHJpY3Rpb25zKXtsZXQgdD1lLmdldE1heFZlbmRvcklkKCk7ZS5nZXRSZXN0cmljdGlvbnMoKS5mb3JFYWNoKGU9PntuW2UucHVycG9zZUlkLnRvU3RyaW5nKCldPSJfIi5yZXBlYXQodCl9KTtmb3IobGV0IGk9MDtpPHQ7aSsrKXt2YXIgbz1pKzE7ZS5nZXRSZXN0cmljdGlvbnMobykuZm9yRWFjaChlPT57dmFyIHQ9ZS5yZXN0cmljdGlvblR5cGUudG9TdHJpbmcoKSxlPWUucHVycG9zZUlkLnRvU3RyaW5nKCksbz1uW2VdLnN1YnN0cigwLGkpLHI9bltlXS5zdWJzdHIoaSsxKTtuW2VdPW8rdCtyfSl9fXJldHVybiBufX1jbGFzcyBwdCBleHRlbmRzIHN0e2NtcExvYWRlZD0hMDtjbXBTdGF0dXM9aS5jbXBTdGF0dXM7ZGlzcGxheVN0YXR1cz1pLmRpc3BsYXlTdGF0dXM7YXBpVmVyc2lvbj1TdHJpbmcoaS5hcGlWZXJzaW9uKTtndmxWZXJzaW9uO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxpLnRjTW9kZWwmJmkudGNNb2RlbC52ZW5kb3JMaXN0VmVyc2lvbiYmKHRoaXMuZ3ZsVmVyc2lvbj0raS50Y01vZGVsLnZlbmRvckxpc3RWZXJzaW9uKX19Y2xhc3MgdXQgZXh0ZW5kcyBpdHtyZXNwb25kKCl7dGhpcy5pbnZva2VDYWxsYmFjayhuZXcgcHQpfX1jbGFzcyBndCBleHRlbmRzIG50e3Jlc3BvbmQoKXt0aGlzLnRocm93SWZQYXJhbUludmFsaWQoKSx0aGlzLmludm9rZUNhbGxiYWNrKG5ldyBkdCh0aGlzLnBhcmFtKSl9fWNsYXNzIG10IGV4dGVuZHMgaXR7cmVzcG9uZCgpe3ZhciBlPWkudGNNb2RlbCx0PWUudmVuZG9yTGlzdFZlcnNpb247bGV0IG87dm9pZCAwPT09dGhpcy5wYXJhbSYmKHRoaXMucGFyYW09dCksKG89dGhpcy5wYXJhbT09PXQmJmUuZ3ZsP2UuZ3ZsOm5ldyB2KHRoaXMucGFyYW0pKS5yZWFkeVByb21pc2UudGhlbigoKT0+e3RoaXMuaW52b2tlQ2FsbGJhY2soby5nZXRKc29uKCkpfSl9fWNsYXNzIGZ0IGV4dGVuZHMgbnR7cmVzcG9uZCgpe3RoaXMubGlzdGVuZXJJZD1pLmV2ZW50UXVldWUuYWRkKHtjYWxsYmFjazp0aGlzLmNhbGxiYWNrLHBhcmFtOnRoaXMucGFyYW0sbmV4dDp0aGlzLm5leHR9KSxzdXBlci5yZXNwb25kKCl9fWNsYXNzIGh0IGV4dGVuZHMgaXR7cmVzcG9uZCgpe3RoaXMuaW52b2tlQ2FsbGJhY2soaS5ldmVudFF1ZXVlLnJlbW92ZSh0aGlzLnBhcmFtKSl9fWNsYXNzIGJ0e3N0YXRpY1taLlBJTkddPXV0O3N0YXRpY1taLkdFVF9UQ19EQVRBXT1udDtzdGF0aWNbWi5HRVRfSU5fQVBQX1RDX0RBVEFdPWd0O3N0YXRpY1taLkdFVF9WRU5ET1JfTElTVF09bXQ7c3RhdGljW1ouQUREX0VWRU5UX0xJU1RFTkVSXT1mdDtzdGF0aWNbWi5SRU1PVkVfRVZFTlRfTElTVEVORVJdPWh0fWNsYXNzIHh0e3N0YXRpYyBzZXRfPW5ldyBTZXQoWzAsMix2b2lkIDAsbnVsbF0pO3N0YXRpYyBoYXMoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT1OdW1iZXIoZSkpLHRoaXMuc2V0Xy5oYXMoZSl9fWxldCB5dD0iX190Y2ZhcGkiO2NsYXNzIHd0e2NhbGxRdWV1ZTtjdXN0b21Db21tYW5kcztjb25zdHJ1Y3RvcihlKXtpZihlKXt2YXIgdD1aLkFERF9FVkVOVF9MSVNURU5FUjtpZihlPy5bdF0pdGhyb3cgbmV3IEVycm9yKGBCdWlsdC1JbiBDdXN0b20gQ29tbW1hbmQgZm9yICR7dH0gbm90IGFsbG93ZWQ6IFVzZSAke1ouR0VUX1RDX0RBVEF9IGluc3RlYWRgKTtpZih0PVouUkVNT1ZFX0VWRU5UX0xJU1RFTkVSLGU/Llt0XSl0aHJvdyBuZXcgRXJyb3IoYEJ1aWx0LUluIEN1c3RvbSBDb21tbWFuZCBmb3IgJHt0fSBub3QgYWxsb3dlZGApO2U/LltaLkdFVF9UQ19EQVRBXSYmKGVbWi5BRERfRVZFTlRfTElTVEVORVJdPWVbWi5HRVRfVENfREFUQV0sZVtaLlJFTU9WRV9FVkVOVF9MSVNURU5FUl09ZVtaLkdFVF9UQ19EQVRBXSksdGhpcy5jdXN0b21Db21tYW5kcz1lfXRyeXt0aGlzLmNhbGxRdWV1ZT13aW5kb3dbeXRdKCl8fFtdfWNhdGNoKGUpe3RoaXMuY2FsbFF1ZXVlPVtdfWZpbmFsbHl7d2luZG93W3l0XT10aGlzLmFwaUNhbGwuYmluZCh0aGlzKSx0aGlzLnB1cmdlUXVldWVkQ2FsbHMoKX19YXBpQ2FsbChlLHQsbywuLi5yKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpbyhudWxsLCExKTtlbHNlIGlmKHh0Lmhhcyh0KSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrIGZ1bmN0aW9uIik7aS5kaXNhYmxlZD9vKG5ldyBsdCwhMSk6dGhpcy5pc0N1c3RvbUNvbW1hbmQoZSl8fHRoaXMuaXNCdWlsdEluQ29tbWFuZChlKT90aGlzLmlzQ3VzdG9tQ29tbWFuZChlKSYmIXRoaXMuaXNCdWlsdEluQ29tbWFuZChlKT90aGlzLmN1c3RvbUNvbW1hbmRzW2VdKG8sLi4ucik6ZT09PVouUElORz90aGlzLmlzQ3VzdG9tQ29tbWFuZChlKT9uZXcgYnRbZV0odGhpcy5jdXN0b21Db21tYW5kc1tlXSxyWzBdLG51bGwsbyk6bmV3IGJ0W2VdKG8sclswXSk6dm9pZCAwPT09aS50Y01vZGVsP3RoaXMuY2FsbFF1ZXVlLnB1c2goW2UsdCxvLC4uLnJdKTp0aGlzLmlzQ3VzdG9tQ29tbWFuZChlKSYmdGhpcy5pc0J1aWx0SW5Db21tYW5kKGUpP25ldyBidFtlXSh0aGlzLmN1c3RvbUNvbW1hbmRzW2VdLHJbMF0sbnVsbCxvKTpuZXcgYnRbZV0obyxyWzBdKTpvKG51bGwsITEpfWVsc2UgbyhudWxsLCExKX1wdXJnZVF1ZXVlZENhbGxzKCl7dmFyIGU9dGhpcy5jYWxsUXVldWU7dGhpcy5jYWxsUXVldWU9W10sZS5mb3JFYWNoKGU9Pnt3aW5kb3dbeXRdKC4uLmUpfSl9aXNDdXN0b21Db21tYW5kKGUpe3JldHVybiB0aGlzLmN1c3RvbUNvbW1hbmRzJiYiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jdXN0b21Db21tYW5kc1tlXX1pc0J1aWx0SW5Db21tYW5kKGUpe3JldHVybiB2b2lkIDAhPT1idFtlXX19Y2xhc3MgQ3R7Y2FsbFJlc3BvbmRlcjtpc1NlcnZpY2VTcGVjaWZpYztudW1VcGRhdGVzPTA7Y29uc3RydWN0b3IoZSx0LG89ITEscil7dGhpcy50aHJvd0lmSW52YWxpZEludChlLCJjbXBJZCIsMiksdGhpcy50aHJvd0lmSW52YWxpZEludCh0LCJjbXBWZXJzaW9uIiwwKSxpLmNtcElkPWUsaS5jbXBWZXJzaW9uPXQsaS50Y2ZQb2xpY3lWZXJzaW9uPTQsdGhpcy5pc1NlcnZpY2VTcGVjaWZpYz0hIW8sdGhpcy5jYWxsUmVzcG9uZGVyPW5ldyB3dChyKX10aHJvd0lmSW52YWxpZEludChlLHQsbyl7aWYoISgibnVtYmVyIj09dHlwZW9mIGUmJk51bWJlci5pc0ludGVnZXIoZSkmJm88PWUpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCAke3R9OiBgK2UpfXVwZGF0ZShlLHQ9ITEpe2lmKGkuZGlzYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJDbXBBcGkgRGlzYWJsZWQiKTtpLmNtcFN0YXR1cz1ZLkxPQURFRCx0PyhpLmRpc3BsYXlTdGF0dXM9cmUuVklTSUJMRSxpLmV2ZW50U3RhdHVzPWFlLkNNUF9VSV9TSE9XTik6dm9pZCAwPT09aS50Y01vZGVsPyhpLmRpc3BsYXlTdGF0dXM9cmUuRElTQUJMRUQsaS5ldmVudFN0YXR1cz1hZS5UQ19MT0FERUQpOihpLmRpc3BsYXlTdGF0dXM9cmUuSElEREVOLGkuZXZlbnRTdGF0dXM9YWUuVVNFUl9BQ1RJT05fQ09NUExFVEUpLGkuZ2RwckFwcGxpZXM9bnVsbCE9PWUsaS5nZHByQXBwbGllcz8oIiI9PT1lPyhpLnRjTW9kZWw9bmV3IG90LGkudGNNb2RlbC5jbXBJZD1pLmNtcElkLGkudGNNb2RlbC5jbXBWZXJzaW9uPWkuY21wVmVyc2lvbik6aS50Y01vZGVsPXJ0LmRlY29kZShlKSxpLnRjTW9kZWwuaXNTZXJ2aWNlU3BlY2lmaWM9dGhpcy5pc1NlcnZpY2VTcGVjaWZpYyxpLnRjZlBvbGljeVZlcnNpb249TnVtYmVyKGkudGNNb2RlbC5wb2xpY3lWZXJzaW9uKSxpLnRjU3RyaW5nPWUpOmkudGNNb2RlbD1udWxsLDA9PT10aGlzLm51bVVwZGF0ZXM/dGhpcy5jYWxsUmVzcG9uZGVyLnB1cmdlUXVldWVkQ2FsbHMoKTppLmV2ZW50UXVldWUuZXhlYygpLHRoaXMubnVtVXBkYXRlcysrfWRpc2FibGUoKXtpLmRpc2FibGVkPSEwLGkuY21wU3RhdHVzPVkuRVJST1J9fWxldHtjbXBWZXJzaW9uOnZ0LGNwbUlkOmt0LHRjZlZlcnNpb246SXQsYmFzZVVybDpTdH09e2Jhc2VVcmw6Imh0dHBzOi8vZGlzY2xhaW1lci1hcGkuZ29hZG9wdC5pbyIsY3BtSWQ6IjQzMCIsY21wVmVyc2lvbjoiMiIsdGNmVmVyc2lvbjoiMiJ9O3YuYmFzZVVybD1TdCsiL2FwaS9pYWIvIjtsZXQgVHQsTHQsJHQ7YXN5bmMgZnVuY3Rpb24gQXQoe3RjU3RyaW5nOmUsdWlWaXNpYmxlOnR9KXtUdC51cGRhdGUoZT8/RXQoKSx0KX1mdW5jdGlvbiBFdCgpe3JldHVybiAkdD9ydC5lbmNvZGUoTHQpOm51bGx9ZnVuY3Rpb24gUnQoZSl7cmV0dXJuL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMS01XVswLTlhLWZdezN9LVs4OWFiXVswLTlhLWZdezN9LVswLTlhLWZdezEyfSQvaS50ZXN0KGUpfWxldCBPdD1geyJkaXNjbGFpbWVyV2Vic2l0ZXMiOlt7IndlYnNpdGVfaWQiOiI4ZDdiYzg3Ny0wNTY4LTRiMzYtODM0MC1lNjE4NDljMzUyYzMiLCJ1cmwiOiJodHRwczovL3d3dy5mcmV0ZWJyYXMuY29tLmJyIn1dLCJ1cmxzIjp7InRlcm1zIjoiaHR0cHM6Ly93d3cuZnJldGVicmFzLmNvbS5ici90ZXJtb3MtZGUtdXNvIiwicG9saWN5IjoiaHR0cHM6Ly93d3cuZnJldGVicmFzLmNvbS5ici9wb2xpdGljYS1kZS1wcml2YWNpZGFkZSIsImNvb2tpZXMiOm51bGwsIm9wdG91dCI6bnVsbCwiY2xlYW5Db29raWVMaW5rIjoiaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyJ9LCJkaXNjbGFpbWVyT3B0aW9ucyI6eyJkaXNjbGFpbWVyQW5pbWF0aW9ucyI6dHJ1ZSwidW5jaGVja1RhZ3MiOnRydWUsImhpZGVEaXNjbGFpbWVyIjpmYWxzZSwidGhlbWUiOiJkZWZhdWx0IiwiZGlzY2xhaW1lckNvbnRyb2xsZXJWaXNpYmlsaXR5Ijp0cnVlLCJkaXNjbGFpbWVyQ2FyZFNoYWRvdyI6dHJ1ZSwic2hvdWxkU2V0U3ViZG9tYWluQ29va2llIjpmYWxzZSwiaGFzQXV0b0Jsb2NrRW5hYmxlZCI6ZmFsc2UsImhhc01hbnVhbEJvY2tFbmFibGVkIjpmYWxzZSwiaWdub3JlZFVybHMiOltdLCJjb25zZW50V2FsbCI6ZmFsc2UsInZlcnNpb25OdW1iZXIiOiJsYXN0VmVyc2lvbiIsImFjY2Vzc2liaWxpdHkiOmZhbHNlLCJpZnJhbWVSZXF1ZXN0IjpmYWxzZX0sImNvbnNlbnRPcHRpb25zIjp7ImNvbnNlbnRUVEwiOjYwLCJjb25zZW50VmVyc2lvbiI6MCwicHJpb3JpdHlRdWV1ZSI6dHJ1ZSwicmVtb3ZlQ29uc2VudEZyb21Db29raWVzIjpmYWxzZSwiYWxsb3dUUENvb2tpZXMiOmZhbHNlLCJjYXRlZ29yaWVzRmlyZWRBc0RlZmF1bHQiOltdLCJjYXRlZ29yaWVzQWN0aXZlQnlEZWZhdWx0IjpudWxsfSwiY29udHJvbGxlciI6ImNvb2tpZSIsImNvbG9ycyI6eyJ3ZWIiOnsibGlnaHQiOnsicHJpbWFyeUNvbG9yIjoiI0E4MjgyNyIsInRleHRDb2xvciI6IiMzNDQ2NEMiLCJiZ0NvbG9yIjoiI0ZGRkZGRiJ9LCJkYXJrIjp7InByaW1hcnlDb2xvciI6IiNBODI4MjciLCJ0ZXh0Q29sb3IiOiIjMzQ0NjRDIiwiYmdDb2xvciI6IiNGRkZGRkYifX0sIm1vYmlsZSI6eyJsaWdodCI6eyJwcmltYXJ5Q29sb3IiOiIjQTgyODI3IiwidGV4dENvbG9yIjoiIzM0NDY0QyIsImJnQ29sb3IiOiIjRkZGRkZGIn0sImRhcmsiOnsicHJpbWFyeUNvbG9yIjoiI0E4MjgyNyIsInRleHRDb2xvciI6IiMzNDQ2NEMiLCJiZ0NvbG9yIjoiI0ZGRkZGRiJ9fX0sInBvc2l0aW9uIjp7ImNvbnRyb2xsZXIiOiJsZWZ0IiwiY2FyZCI6ImxlZnQifSwic3R5bGVzIjp7InN0eWxlcyI6eyJ3ZWIiOnt9LCJtb2JpbGUiOnt9fSwiaGFzSW1wb3J0YW50Ijp0cnVlLCJ1c2VCdXR0b25zV2l0aFNhbWVDb2xvciI6ZmFsc2V9LCJ0ZXh0cyI6eyJsaW5rcyI6eyJ0ZXJtcyI6IlRlcm1vcyBkZSB1c28iLCJvcHRvdXQiOiJPcHQtb3V0IiwicG9saWN5IjoiUG9sw610aWNhIGRlIFByaXZhY2lkYWRlIiwiY29va2llcyI6IlBvbMOtdGljYSBkZSBDb29raWVzIn0sInRpdGxlcyI6eyJjYXJkIjoiQ29udHJvbGUgc3VhIHByaXZhY2lkYWRlIiwicHJlZmVyZW5jZSI6IlF1ZW0gcG9kZSB1c2FyIHNldXMgY29va2llcz8ifSwiYnV0dG9ucyI6eyJzaG93TW9yZSI6Ik1vc3RyZSBtYWlzIiwiYWNjZXB0QWxsIjoiQWNlaXRhciIsImRvTm90U2VsbCI6Ik7Do28gdmVuZGEiLCJyZWplY3RBbGwiOiJSZWplaXRhciIsImFjY2VwdEN1c3RvbSI6IlNhbHZhciBvcMOnw7VlcyIsInNob3dQcmVmZXJlbmNlcyI6Ik1pbmhhcyBvcMOnw7VlcyJ9LCJib2R5VGV4dHMiOnsiY2FyZCI6Ik5vc3NvIHNpdGUgdXNhIGNvb2tpZXMgcGFyYSBtZWxob3JhciBhIG5hdmVnYcOnw6NvLiIsInJlZ2lvbiI6IkxvY2FsaXphw6fDo28iLCJhZG9wdFRleHQiOiJWYWxvcml6ZSBzdWEgcHJpdmFjaWRhZGUgY29tIiwiZXhwaXJhdGlvbiI6IkV4cGlyYcOnw6NvIn0sImNhdGVnb3JpZXMiOnsidGNmIjp7Im5hbWUiOiJGb3JuZWNlZG9yZXMgVGVyY2Vpcml6YWRvcyIsImRlc2NyaXB0aW9uIjoiRXN0YSBjYXRlZ29yaWEgY29uY2VkZSBjb25zZW50aW1lbnRvIHBhcmEgbyBwcm9jZXNzYW1lbnRvIGRvcyBzZXVzIGRhZG9zIHBlc3NvYWlzLCBpbmNsdWluZG8gbyBhcm1hemVuYW1lbnRvLCBhY2Vzc28gZSBjb21wYXJ0aWxoYW1lbnRvIGRlIGluZm9ybWHDp8O1ZXMgZG8gc2V1IGRpc3Bvc2l0aXZvLCBjb21vIGNvb2tpZXMsIGlkZW50aWZpY2Fkb3JlcyDDum5pY29zIGUgb3V0cm9zIGRhZG9zIGRvIGRpc3Bvc2l0aXZvLCBjb20gZm9ybmVjZWRvcmVzIGUgcGFyY2Vpcm9zIGRlIHB1YmxpY2lkYWRlIGRvIFRDRi4gRXNzZXMgZm9ybmVjZWRvcmVzIHBvZGVtIHV0aWxpemFyIHNldXMgZGFkb3MgcGFyYSBkaXZlcnNvcyBmaW5zLCBkZSBhY29yZG8gY29tIG8gRnJhbWV3b3JrIGRlIFRyYW5zcGFyw6puY2lhIGUgQ29uc2VudGltZW50by4ifSwicmVxdWlyZWQiOnsibmFtZSI6Ik5lY2Vzc8OhcmlvcyIsImRlc2NyaXB0aW9uIjoiT3MgY29va2llcyBuZWNlc3PDoXJpb3Mgc8OjbyBlc3NlbmNpYWlzIHBhcmEgbyBmdW5jaW9uYW1lbnRvIGRvIHNpdGUsIHNlbSBlbGVzIG8gc2l0ZSBuw6NvIGZ1bmNpb25hcmlhIGNvcnJldGFtZW50ZS4gKHBvciBleGVtcGxvLCBhY2Vzc28gYSDDoXJlYXMgc2VndXJhcyBkbyBzaXRlLCBzZWd1cmFuw6dhLCBsZWdpc2xhw6fDo28pIn0sIm1hcmtldGluZyI6eyJuYW1lIjoiTWFya2V0aW5nIiwiZGVzY3JpcHRpb24iOiJPcyBjb29raWVzIGRlIG1hcmtldGluZyBvdSBwdWJsaWNpZGFkZSByYXN0cmVpYW0gYSBuYXZlZ2HDp8OjbyBkb3MgdmlzaXRhbnRlcyBlIGNvbGV0YW0gZGFkb3MgcGFyYSBxdWUgYSBlbXByZXNhIHBvc3NhIGZvcm5lY2VyIGFuw7puY2lvcyBtYWlzIHJlbGV2YW50ZXMgZGUgYWNvcmRvIGNvbSB0YWwgY29tcG9ydGFtZW50by4ifSwiZnVuY3Rpb25hbCI6eyJuYW1lIjoiRnVuY2lvbmFsIiwiZGVzY3JpcHRpb24iOiJPcyBjb29raWVzIGZ1bmNpb25haXMgYWp1c3RhbSBvIHNpdGUgYSBzZXJ2acOnb3MgZGUgdGVyY2Vpcm9zLCBjb21vIGxpbmtzIHBhcmEgc2V1IHBlcmZpbCBlbSByZWRlcyBzb2NpYWlzLCBjb21lbnTDoXJpb3MsIGNoYXRib3RzLCBldGMuIn0sInN0YXRpc3RpY3MiOnsibmFtZSI6IkVzdGF0aXN0aWNhcyIsImRlc2NyaXB0aW9uIjoiT3MgY29va2llcyBkZSBlc3RhdMOtc3RpY2FzLCBvdSBhbsOhbGlzZXMsIHRyYWR1emVtIGFzIGludGVyYcOnw7VlcyBkb3MgdmlzaXRhbnRlcyBlbSByZWxhdMOzcmlvcyBkZXRhbGhhZG9zIGRlIGNvbXBvcnRhbWVudG8sIGRlIG1hbmVpcmEgYW7DtG5pbWEuIn0sInBlcmZvcm1hbmNlIjp7Im5hbWUiOiJQZXJmb3JtYW5jZSIsImRlc2NyaXB0aW9uIjoiT3MgY29va2llcyBkZSBkZXNlbXBlbmhvIHBlcm1pdGVtIHF1ZSBvIHNpdGUgc2UgY29tcG9ydGUgZGUgYWNvcmRvIGNvbSBvIHZpc2l0YW50ZSwgYWp1c3RhbmRvLXNlIMOgIHN1YSBsb2NhbGl6YcOnw6NvLCBpZGlvbWEgcHJlZmVyaWRvLCBldGMuIn19fSwidGFncyI6W3siaWQiOiJlMWk0S1VTdHlXIiwibmFtZSI6IkFwcHMgRmx5ZXIiLCJ0YWdfY2F0ZWdvcnlfaWQiOjMsImNvb2tpZXMiOlt7Im5hbWUiOiJBRl9TWU5DIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjYwNDYxNzY1NiwicmVnaW9uIjoiRVUsU0EifSx7Im5hbWUiOiJhZlVzZXJJZCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozNDU1OTgxODAwMiwicmVnaW9uIjoiRVUsU0EifSx7Im5hbWUiOiJhZl9pZCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozNDEyNzg1OTY1MSwicmVnaW9uIjoiRVUifSx7Im5hbWUiOiJBRl9TRVNTSU9OIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJFVSxTQSJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly93ZWJzZGsuYXBwc2ZseWVyLmNvbS8/c3Q9cGJhJiIsIndlYnNkay5hcHBzZmx5ZXIuY29tIl19LHsiaWQiOiJYV2E3NEg0RDFTIiwibmFtZSI6ImZyZXRlYnJhcy5jb20uYnIiLCJ0YWdfY2F0ZWdvcnlfaWQiOjEsImNvb2tpZXMiOlt7Im5hbWUiOiJha19ibXNjIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjcwMTM1NTMsInJlZ2lvbiI6IkVVLFNBIn0seyJuYW1lIjoiYW1wXzI2NTI1NCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMTUzNTgxMzY1NywicmVnaW9uIjoiRVUsU0EifSx7Im5hbWUiOiJNZ2lkU2Vuc29yTlZpcyIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo3Nzc1ODE2NjU2LCJyZWdpb24iOiJFVSxTQSJ9LHsibmFtZSI6Ik1naWRTZW5zb3JIcmVmIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU4MTY2NTYsInJlZ2lvbiI6IkVVLFNBIn0seyJuYW1lIjoiYW1wX2Nvb2tpZV90ZXN0IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjEwMDAsInJlZ2lvbiI6IkVVLFNBIn0seyJuYW1lIjoiX3RsZHRlc3RfT0VkOWpjR0ZLMHZtZEE1eW9LSkNSSSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJFVSJ9LHsibmFtZSI6ImFtcGxpdHVkZV90ZXN0ZnJldGVicmFzLmNvbS5iciIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJFVSxTQSJ9LHsibmFtZSI6Il90bGR0ZXN0X1RQTTU4VXV3S2JTZGM4aXZBV0V5U08iLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiRVUifSx7Im5hbWUiOiJfdGxkdGVzdF8tMFlMRWhQbm9pMlZhc0VaSS1HTG9LIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjEwMDAsInJlZ2lvbiI6IlNBIn0seyJuYW1lIjoiX3RsZHRlc3RfTGpVczZiandlZVNFb1Y1ckktalNJWiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJTQSJ9LHsibmFtZSI6ImFtcGxpdHVkZV91bnNlbnRfMjY1MjU0YjkxYzY1NjJhYjM5MDkxY2ZlM2JhN2ExYTNfdHJ1Y2tlcl9qb3VybmV5IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJFVSxTQSJ9LHsibmFtZSI6ImFtcGxpdHVkZV91bnNlbnRfaWRlbnRpZnlfMjY1MjU0YjkxYzY1NjJhYjM5MDkxY2ZlM2JhN2ExYTNfdHJ1Y2tlcl9qb3VybmV5IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJFVSxTQSJ9LHsibmFtZSI6Il9nY2xfbHMiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IlNBIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJodHRwczovL3d3dy5mcmV0ZWJyYXMuY29tLmJyL19uZXh0L3N0YXRpYy9jaHVua3MvcGFnZXMvX2FwcC0xYWE4NGNjYzFkY2Y5YzY4LmpzIiwiZnJldGVicmFzLmNvbS5iciIsImh0dHBzOi8vYS5tZ2lkLmNvbS9tZ3NlbnNvci5qcz9kPTE3NDIzMjM3NDQxMzkiLCJhLm1naWQuY29tIl19LHsiaWQiOiJNQVpjdVN5S2E1IiwibmFtZSI6Ikdvb2dsZSBBbmFseXRpY3MiLCJ0YWdfY2F0ZWdvcnlfaWQiOjMsImNvb2tpZXMiOlt7Im5hbWUiOiJfZ2lkIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjg2MjE1NjU3LCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiQXJtYXplbmFyIGUgY29udGFyIHZpc3VhbGl6YcOnw7VlcyBkZSBww6FnaW5hIHBhcmEgbyBHb29nbGUifSx7Im5hbWUiOiJfZ2FfSFcyVlJQTlM3TCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozNDU1OTg4NjI4NiwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IklEIHVzYWRhIHBhcmEgaWRlbnRpZmljYXIgdXN1w6FyaW9zIn0seyJuYW1lIjoiX2dhIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjM0NTU5ODE3MjI2LCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiUmVnaXN0cmEgZSBjb250YSB2aXN1YWxpemHDp8O1ZXMgbmEgcMOhZ2luYSBwYXJhIG8gR29vZ2xlICJ9LHsibmFtZSI6Il9nYXRfZ3RhZ19VQV83MTM5MTcwXzUiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBhcmEgbW9uaXRvcmFyIG8gbsO6bWVybyBkZSBzb2xpY2l0YcOnw7VlcyBkbyBzZXJ2aWRvciBkbyBHb29nbGUgYW8gdXNhciBvIEdlcmVuY2lhZG9yIGRlIHRhZ3MgZG8gR29vZ2xlIn0seyJuYW1lIjoiX2djbF9hdSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo3Nzc1ODE0NjU3LCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiVXRpbGl6YWRvcyBwZWxvIEdvb2dsZSBwYXJhIG1vbml0b3JhciBhIGVmaWNpw6pubmNpYSBkYSBwdWJsaWNpZGFkZSBlbSBzaXRlcyB1c2FuZG8gc2V1cyBzZXJ2acOnb3MuIGrDoSBvIHByaW1laXJvIGNvb2tpZSBwcmltZWlyaW8gcGFyYSBhIGZ1bmNpb25hbGlkYWRlIOKAmiBjb2xldGEgaW5mb3JtYcOnw7VlcyBlbSBjbGlxdWVzIGRlIGFuw7puY2lvIGUgYXJtYXplbmEtYXMgZW0gdW0gY29va2llIHByaW3DoXJpbyBwYXJhIHF1ZSBhcyBjb252ZXJzw7VlcyBwb3NzYW0gc2VyIGF0cmlidcOtZGFzIGZvcmEgZGEgcMOhZ2luYSBpbmljaWFsLiJ9LHsibmFtZSI6Il9nYXRfVUEtNzEzOTE3MC01IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjEwMDAsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJDb29raWUgdXRpbGl6YWRvIHBlbG8gR29vZ2xlIHBhcmEgdHJhY2tlciBkZXRlcm1pbmFkYXMgYcOnw7VlcyBkb3MgdXN1w6Fpb3MgZW0gdW1hIHDDoWdpbmEgZXNwZWPDrWZpY2EifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImh0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcyIsImdvb2dsZS1hbmFseXRpY3MuY29tIiwiaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLUhXMlZSUE5TN0wmbD1kYXRhTGF5ZXImY3g9YyZndG09NDVIZTUzaDB2ODExMzUyMDAxemEyMDAmdGFnX2V4cD0xMDI0ODI0MzN+MTAyNTg3NTkxfjEwMjcxNzQyMn4xMDI3ODg4MjR+MTAyODEzMTA5fjEwMjgxNDA2MH4xMDI4MjU4Mzd+MTAyODc5NzE5IiwiZ29vZ2xldGFnbWFuYWdlci5jb20iLCJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUFXLTc0NjgzODYxMCZsPWRhdGFMYXllciZjeD1jJmd0bT00NTdlNTNoMHphMjAwJnRhZ19leHA9MTAyNDgyNDMzfjEwMjU4NzU5MX4xMDI3MTc0MjJ+MTAyNzg4ODI0fjEwMjgxMzEwOX4xMDI4MTQwNjB+MTAyODI1ODM3fjEwMjg3OTcxOX4xMDI4ODc4MDAiXX0seyJpZCI6InBMOFp4dHQ4RzgiLCJuYW1lIjoiTGlua2VkSW4iLCJ0YWdfY2F0ZWdvcnlfaWQiOjIsImNvb2tpZXMiOlt7Im5hbWUiOiJBbmFseXRpY3NTeW5jSGlzdG9yeSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoyNTkxODE2MzM5LCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiVXNhZG8gcGFyYSBhcm1hemVuYXIgaW5mb3JtYcOnw7VlcyBzb2JyZSBhIGhvcmEgZW0gcXVlIHVtYSBzaW5jcm9uaXphw6fDo28gY29tIG8gY29va2llIGxtc19hbmFseXRpY3Mgb2NvcnJldSBwYXJhIHVzdcOhcmlvcyBub3MgUGHDrXNlcyBEZXNpZ25hZG9zIn0seyJuYW1lIjoibGlfZ2MiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTU1NTE4NTkzMzMsInJlZ2lvbiI6IkVVIiwiZGVzY3JpcHRpb24iOiJVc2FkbyBwYXJhIGFybWF6ZW5hciBvIGNvbnNlbnRpbWVudG8gZG8gaMOzc3BlZGUgcGFyYSBvIHVzbyBkZSBjb29raWVzIHBhcmEgZmlucyBuw6NvIGVzc2VuY2lhaXMifSx7Im5hbWUiOiJiY29va2llIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjMxNTM1ODE3MjYxLCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiQnJvd3NlciBDb29raWUgaWRlbnRpZmljYWRvciBwYXJhIGlkZW50aWZpY2FyIGRlIGZvcm1hIMO6bmljYSBvcyBkaXNwb3NpdGl2b3MgcXVlIGFjZXNzYW0gbyBMaW5rZWRJbiBwYXJhIGRldGVjdGFyIGFidXNvcyBuYSBwbGF0YWZvcm1hIn0seyJuYW1lIjoibGlkYyIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo4NjIxNjIwMSwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBlbG8gc2VydmnDp28gZGUgcmVkZSBzb2NpYWwsIExpbmtlZEluLCBwYXJhIGZhY2lsaXRhciBhIHNlbGXDp8OjbyBkbyBkYXRhIGNlbnRlci4ifSx7Im5hbWUiOiJsaV9zdWdyIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjc3NzU4MTcyNTksInJlZ2lvbiI6IlNBIn0seyJuYW1lIjoiYnNjb29raWUiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzE1MzU4MTU2ODUsInJlZ2lvbiI6IlNBIiwiZGVzY3JpcHRpb24iOiJVc2FkbyBwYXJhIGxlbWJyYXIgcXVlIHVtIHVzdcOhcmlvIGxvZ2FkbyDDqSB2ZXJpZmljYWRvIHBvciBkb2lzIGZhdG9yZXMgZGUgYXV0ZW50aWNhw6fDo28uICJ9LHsibmFtZSI6IlVzZXJNYXRjaEhpc3RvcnkiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MjU5MTgxNjMzOSwicmVnaW9uIjoiU0EiLCJkZXNjcmlwdGlvbiI6IkVzc2VzIGNvb2tpZXMgc8OjbyBkZWZpbmlkb3MgcGVsbyBMaW5rZWRJbiBwYXJhIGZpbnMgcHVibGljaXTDoXJpb3MsIGluY2x1aW5kbzogcmFzdHJlYXIgdmlzaXRhbnRlcyBwYXJhIHF1ZSBhbsO6bmNpb3MgbWFpcyByZWxldmFudGVzIHBvc3NhbSBzZXIgYXByZXNlbnRhZG9zLCBwZXJtaXRpbmRvIHF1ZSBvcyB1c3XDoXJpb3MgdXNlbSBhcyBmdW7Dp8O1ZXMgJ0FwbGljYXIgY29tIG8gTGlua2VkSW4nIG91ICdFbnRyYXIgbm8gTGlua2VkSW4nLCBldGMuIn0seyJuYW1lIjoibGlfYWRzSWQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IlNBIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJsaW5rZWRpbiJdfSx7ImlkIjoiQWdrcnRGQWZKUCIsIm5hbWUiOiJBZE9wdCIsInRhZ19jYXRlZ29yeV9pZCI6MSwiY29va2llcyI6W3sibmFtZSI6IkFkb3B0VmlzaXRvcklkIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjUxODM4MTY2NTYsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJDb29raWUgcHLDs3ByaW8gZGEgQWRPcHQgKGZpcnN0LXBhcnR5KSByZXNwb25zw6F2ZWwgcG9yIGFybWF6ZW5hciBvIGlkZW50aWZpY2Fkb3IgYW5vbmltaXphZG8gZG8gdmlzaXRhbnRlIGUgdmFsb3IgdXRpbGl6YWRvIHBhcmEgZ2FyYW50aXIgbyBmdW5jaW9uYW1lbnRvIGRhIFRhZyBkYSBBZE9wdCBlbSBuYXZlZ2Fkb3JlcyBxdWUgbsOjbyBwb3NzdWVtIG8gc3Vwb3J0ZSBhbyBjb29raWUgZGUgdGVyY2Vpcm8uIn0seyJuYW1lIjoiQWRvcHRDb25zZW50IiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjUxODM4ODY2NTUsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJDb29raWUgZGUgdGVyY2Vpcm8gcmVzcG9uc8OjdmVsIHBvciBhcm1hemVuYXIgbyBjb25zZW50aW1lbnRvIGRvIHZpc2l0YW50ZSJ9LHsibmFtZSI6ImFkb3B0Q29uc2VudE1vZGUiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTAwMCwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IkNvbnRyb2xhIGEgb3DDp8OjbyBkZSB1c2FyIG8gQ29uc2VudE1vZGUifSx7Im5hbWUiOiJBZG9wdEdEMTc0MjMyMzc0NTQ4MSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxMDAwLCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiVXNhZG8gcGFyYSB2ZXJpZmljYXIgbyBkb23DrW5pbyBlIHN1YmRvbcOtbmlvIGRvIGNvbnNlbnRpbWVudG8ifSx7Im5hbWUiOiJhZG9wdENvbnNlbnRNb2RlIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiVXNhZG8gcGVsYSBBZE9wdCBwYXJhIGNvbmZpZ3VyYXIgbyBHb29nbGUgQ29uc2VudCBNb2RlIn0seyJuYW1lIjoiQWRvcHRWaXNpdG9ySWQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJHdWFyZGEgbyBJZCBkbyB2aXNpdGFudGUifSx7Im5hbWUiOiJBZG9wdENvbnNlbnQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJHdWFyZGEgdW1hIGPDs3BpYSBkbyB1bHRpbW8gY29uc2VudGltZW50byBlbnZpYWRvIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJhZG9wdCJdfSx7ImlkIjoiV0VPUlNCN2R1SiIsIm5hbWUiOiJGYWNlYm9vayIsInRhZ19jYXRlZ29yeV9pZCI6MiwiY29va2llcyI6W3sibmFtZSI6Il9mYnAiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6Nzc3NTg4NTY1NiwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBlbG8gRmFjZWJvb2sgcGFyYSBmb3JuZWNlciB1bWEgc3RvcmllIGRlIHByb2R1dG9zIHB1YmxpY2l0w6FyaW9zLCBjb21vIGxhbmNlcyBlbSB0ZW1wbyByZWFsIGRlIGFudW5jaWFudGVzIHRlcmNlaXJpemFkb3MifSx7Im5hbWUiOiJsYXN0RXh0ZXJuYWxSZWZlcnJlciIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IkRldGVjdGEgY29tbyBvIHVzdcOhcmlvIGNoZWdvdSBhbyBzaXRlIHJlZ2lzdHJhbmRvIG8gw7psdGltbyBlbmRlcmXDp28gZGUgVVJMIGFjZXNzYWRvIHBvciBlbGVzLiJ9LHsibmFtZSI6Imxhc3RFeHRlcm5hbFJlZmVycmVyVGltZSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiRVUsU0EiLCJkZXNjcmlwdGlvbiI6IkRldGVjdGEgY29tbyBvIHVzdcOhcmlvIGNoZWdvdSBhbyBzaXRlIHJlZ2lzdHJhbmRvIG8gw7psdGltbyBlbmRlcmXDp28gZGUgVVJMIGFjZXNzYWRvIHBvciBlbGVzLiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiaHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9mYmV2ZW50cy5qcyIsImNvbm5lY3QuZmFjZWJvb2submV0Il19LHsiaWQiOiJqaGNlOXRUZXYtIiwibmFtZSI6IkNsb3VkRmxhcmUiLCJ0YWdfY2F0ZWdvcnlfaWQiOjUsImNvb2tpZXMiOlt7Im5hbWUiOiJfX2NmX2JtIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjE2MTg2NDAsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJFc3RlIGNvb2tpZSDDqSB1c2FkbyBwYXJhIGRpc3Rpbmd1aXIgZW50cmUgaHVtYW5vcyBlIGJvdHMuIElzdG8gw6kgYmVuw6lmaWNvIHBhcmEgbyBzaXRlLCBhIGZpbSBkZSBmYXplciByZWxhdMOzcmlvcyB2w6FsaWRvcyBzb2JyZSBhIHV0aWxpemHDp8OjbyBkbyBzZXUgc2l0ZS4ifSx7Im5hbWUiOiJfY2Z1dmlkIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0xLCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiw4kgZGVmaW5pZG8gY29tbyBwYXJ0ZSBkYSByZWdyYSBkZSBsaW1pdGHDp8OjbyBkZSB0YXhhIHF1ZSBvcyBzaXRlcyBwb2RlbSBhdGl2YXIgY29tIENsb3VkZmxhcmUuIFF1YW5kbyBvcyBzaXRlcyBwZXJtaXRlbSBlc3NhIG9ww6fDo28sIGEgQ2xvdWRmbGFyZSB1c2EgbyBjb29raWUgX2NmdXZpZCBwYXJhIGRpc3Rpbmd1aXIgdXN1w6FyaW9zIGRvIG1lc21vIGVuZGVyZcOnbyBJUC4ifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImNsb3VkZmxhcmUiXX0seyJpZCI6IlF5UVFyVmNGaksiLCJuYW1lIjoiSHViU3BvdCBmdW5jdGlvbmFsIiwidGFnX2NhdGVnb3J5X2lkIjo0LCJjb29raWVzIjpbeyJuYW1lIjoiX19oc3RjIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjE1NTUxODE3NjU2LCJyZWdpb24iOiJFVSxTQSJ9LHsibmFtZSI6Imh1YnNwb3R1dGsiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MTU1NTE4MTc2NTYsInJlZ2lvbiI6IkVVLFNBIiwiZGVzY3JpcHRpb24iOiJBcm1hemVuZSBlIHJhc3RyZWllIGEgaWRlbnRpZGFkZSBkZSB1bSB2aXNpdGFudGUifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImh0dHBzOi8vanMuaHMtYW5hbHl0aWNzLm5ldC9hbmFseXRpY3MvMTc0MjMyMzUwMDAwMC85MDIwNzUzLmpzIiwianMuaHMtYW5hbHl0aWNzLm5ldCJdfSx7ImlkIjoiLXFzTHNRRTFmeiIsIm5hbWUiOiJIdWJTcG90IiwidGFnX2NhdGVnb3J5X2lkIjoyLCJjb29raWVzIjpbeyJuYW1lIjoiX19oc3NjIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjE2MTc2NTYsInJlZ2lvbiI6IkVVLFNBIn0seyJuYW1lIjoiX19oc3NyYyIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMSwicmVnaW9uIjoiRVUsU0EifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImh0dHBzOi8vanMuaHMtYW5hbHl0aWNzLm5ldC9hbmFseXRpY3MvMTc0MjMyMzUwMDAwMC85MDIwNzUzLmpzIiwianMuaHMtYW5hbHl0aWNzLm5ldCJdfSx7ImlkIjoiT0x6YTVVbVdxeCIsIm5hbWUiOiJHb29nbGUgQWRzIiwidGFnX2NhdGVnb3J5X2lkIjoyLCJjb29raWVzIjpbeyJuYW1lIjoiSURFIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjM0NTU5ODg3Mjc1LCJyZWdpb24iOiJFVSxTQSIsImRlc2NyaXB0aW9uIjoiVXRpbGl6YWRvIHBhcmEgZ2VyYcOnw6NvIGRlIHB1YmxpY29zIGUgcGVyZmlscyBzZWdtZW50YWRvcyBwYXJhIGNhbXBhbmhhcyBwdWJsaWNpdMOhcmlhcyBkZSBtw61kaWEgcHJvZ3JhbcOhdGljYSJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsiZ29vZ2xlIGFkcyIsImdvb2dsZSIsImFkcyJdfSx7ImlkIjoieVNYU2ZuTkRiRiIsIm5hbWUiOiJSdWJpY29uIFByb2plY3QiLCJ0YWdfY2F0ZWdvcnlfaWQiOjIsImNvb2tpZXMiOlt7Im5hbWUiOiJyZWNlaXZlLWNvb2tpZS1kZXByZWNhdGlvbiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjoxNTU1MTk2MzY0MywicmVnaW9uIjoiRVUifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbInJ1Ymljb24gcHJvamVjdCIsInJ1Ymljb24iLCJwcm9qZWN0Il19LHsiaWQiOiJkd3ppSlNLd3RlIiwibmFtZSI6Ik1pY3Jvc29mdCBVc2VyIElkZW50aWZpZXIiLCJ0YWdfY2F0ZWdvcnlfaWQiOjMsImNvb2tpZXMiOlt7Im5hbWUiOiJNUiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjo2MDQ2MTk4NjAsInJlZ2lvbiI6IlNBIiwiZGVzY3JpcHRpb24iOiJJbmRpY2Egc2UgZGV2ZSBhdHVhbGl6YXIgY29va2llIE1VSUQsIGRhIHByw7NwcmlhIE1pY3Jvc29mdCJ9LHsibmFtZSI6Ik1VSUQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzM2OTU4MTk4NjAsInJlZ2lvbiI6IlNBIiwiZGVzY3JpcHRpb24iOiJJZGVudGlmaWNhIHZpc2l0YW50ZXMgdW5pY29zICBub3Mgc2l0ZXMgZGEgTWljcm9zb2Z0LiBFc3RlcyBjb29raWVzIHPDo28gdXNhZG9zIHBhcmEgcHVibGljaWRhZGUsIGFuw6FsaXNlIGRlIHNpdGVzIGUgb3V0cm9zIHByb3DDs3NpdG9zIG9wZXJhY2lvbmFpcy4ifSx7Im5hbWUiOiJBTk9OQ0hLIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjQxOTg2MCwicmVnaW9uIjoiU0EiLCJkZXNjcmlwdGlvbiI6IlVzYWRvIHBhcmEgYXJtYXplbmFyIG8gSUQgZGEgc2Vzc8OjbyBkZSB1bSB1c3XDoXJpbyBwYXJhIGdhcmFudGlyIHF1ZSBvcyBjbGlxdWVzIGRlIGFuw7puY2lvcyBubyBtZWNhbmlzbW8gZGUgYnVzY2EgZG8gQmluZyBzZWphbSB2ZXJpZmljYWRvcyBwYXJhIGZpbnMgZGUgcmVsYXTDs3Jpb3MgZSBwZXJzb25hbGl6YcOnw6NvLiJ9XSwiYXV0b19ibG9jayI6ZmFsc2UsInNvdXJjZXMiOlsibWljcm9zb2Z0IHVzZXIgaWRlbnRpZmllciIsIm1pY3Jvc29mdCIsInVzZXIiLCJpZGVudGlmaWVyIl19LHsiaWQiOiJtdTVUS1NIcThaIiwibmFtZSI6Ik1pY3Jvc29mdCBCaW5nIEFkcyBVbml2ZXJzYWwgRXZlbnQiLCJ0YWdfY2F0ZWdvcnlfaWQiOjQsImNvb2tpZXMiOlt7Im5hbWUiOiJfdWV0c2lkIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjg2MjE3NjU1LCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiQXJtYXplbmUgZSBhY29tcGFuaGUgdmlzaXRhcyBlbSBzaXRlcyJ9LHsibmFtZSI6Il91ZXR2aWRfZXhwIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiQXJtYXplbmFyIGUgcmFzdHJlYXIgdmlzaXRhcyBhdHJhdsOpcyBkZSB3ZWJzaXRlcy4ifSx7Im5hbWUiOiJfdWV0c2lkX2V4cCIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMiwicmVnaW9uIjoiU0EiLCJkZXNjcmlwdGlvbiI6IkNvbnTDqW0gYSBkYXRhIGRlIHZhbGlkYWRlIHBhcmEgbyBjb29raWUgY29tIG8gbm9tZSBjb3JyZXNwb25kZW50ZS4ifSx7Im5hbWUiOiJfdWV0dmlkIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOi0yLCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiQ29udMOpbSBhIGRhdGEgZGUgdmFsaWRhZGUgcGFyYSBvIGNvb2tpZSBjb20gbyBub21lIGNvcnJlc3BvbmRlbnRlLiJ9LHsibmFtZSI6Il91ZXRzaWQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6LTIsInJlZ2lvbiI6IlNBIiwiZGVzY3JpcHRpb24iOiJDb250w6ltIGEgZGF0YSBkZSB2YWxpZGFkZSBwYXJhIG8gY29va2llIGNvbSBvIG5vbWUgY29ycmVzcG9uZGVudGUuIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJodHRwczovL2JhdC5iaW5nLmNvbS9iYXQuanMiLCJiYXQuYmluZy5jb20iXX0seyJpZCI6Ik9ERjM1NV92cE8iLCJuYW1lIjoiQmluZyAvIE1pY3Jvc29mdCIsInRhZ19jYXRlZ29yeV9pZCI6MiwiY29va2llcyI6W3sibmFtZSI6Il91ZXR2aWQiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzM2OTU4MTc2NTUsInJlZ2lvbiI6IlNBIiwiZGVzY3JpcHRpb24iOiJFc3RlIEQzMyB1bSBjb29raWUgdXRpbGl6YWRvIHBlbG8gTWljcm9zb2Z0IEJpbmcgQWRzIGUgw6l1bSBjb29raWUgZGUgcmFzdHJlYW1lbnRvLiBJc3NvIG5vcyBwZXJtaXRlIGludGVyYWdpciBjb20gdW0gdXN1w6FyaW8gcXVlIGrDoSB2aXNpdG91IG5vc3NvIHNpdGUuIn0seyJuYW1lIjoiTVNQVEMiLCJleHBpcmF0aW9uX21pbGxpc2Vjb25kcyI6MzM2OTU4MTg4ODEsInJlZ2lvbiI6IlNBIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJodHRwczovL2JhdC5iaW5nLmNvbS9iYXQuanMiLCJiYXQuYmluZy5jb20iXX0seyJpZCI6Imw0aFJOeG1kcEciLCJuYW1lIjoiQ2xhcml0eSIsInRhZ19jYXRlZ29yeV9pZCI6MywiY29va2llcyI6W3sibmFtZSI6Il9jbGNrIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjMxNTM1ODE3NjU1LCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiUGVyc2lzdGUgYSBDbGFyaXR5IFVzZXIgSUQgZSBhcyBwcmVmZXLDqm5jaWFzLCBleGNsdXNpdmFzIGRhcXVlbGUgc2l0ZSwgbm8gbmF2ZWdhZG9yLiBJc3RvIGFzc2VndXJhIHF1ZSBvIGNvbXBvcnRhbWVudG8gZW0gdmlzaXRhcyBzdWJzZXF1ZW50ZXMgYW8gbWVzbW8gc2l0ZSBzZXLDoSBhdHJpYnXDrWRvIGFvIG1lc21vIElEIGRlIHVzdcOhcmlvLiJ9LHsibmFtZSI6Il9jbHNrIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjg2MjE3NjU1LCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiQ29uZWN0YSB2w6FyaWFzIHDDoWdpbmFzIHZpc3RhcyBwb3IgdW0gdXN1w6FyaW8gZW0gdW1hIMO6bmljYSBncmF2YcOnw6NvIGRlIHNlc3PDo28gQ2xhcml0eS4ifSx7Im5hbWUiOiJTTSIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjotMSwicmVnaW9uIjoiU0EiLCJkZXNjcmlwdGlvbiI6IkVzdGUgY29va2llIMOpIGluc3RhbGFkbyBwZWxhIE1pY3Jvc29mdCBDbGFyaXR5IHBhcmEgc2luY3Jvbml6YcOnw6NvIGRvIE1VSUQgKE1pY3Jvc29mdCBVbmlxdWUgVXNlciBJRCkgZW50cmUgZG9tw61uaW9zIGRhIE1pY3Jvc29mdC4ifSx7Im5hbWUiOiJDTElEIiwiZXhwaXJhdGlvbl9taWxsaXNlY29uZHMiOjMxNTM1ODE3OTM5LCJyZWdpb24iOiJTQSIsImRlc2NyaXB0aW9uIjoiSWRlbnRpZmljYSBhIHByaW1laXJhIHZleiBxdWUgbyBDbGFyaXR5IHZpdSBlc3RlIHVzdcOhcmlvIGVtIHF1YWxxdWVyIHNpdGUgcXVlIHVzYSBvIENsYXJpdHkuIn1dLCJhdXRvX2Jsb2NrIjpmYWxzZSwic291cmNlcyI6WyJodHRwczovL3d3dy5jbGFyaXR5Lm1zL3MvMC44LjAvY2xhcml0eS5qcyIsImNsYXJpdHkubXMiXX0seyJpZCI6Imw0OEx1UV83d0EiLCJuYW1lIjoibWdpZC5jb20iLCJ0YWdfY2F0ZWdvcnlfaWQiOjYsImNvb2tpZXMiOlt7Im5hbWUiOiJtdWlkbiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMTUzNTgxODE0MywicmVnaW9uIjoiU0EifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbIm1naWQuY29tIl19LHsiaWQiOiI5UDJGUjhJb1l3IiwibmFtZSI6IkJpbmciLCJ0YWdfY2F0ZWdvcnlfaWQiOjIsImNvb2tpZXMiOlt7Im5hbWUiOiJTUk1fQiIsImV4cGlyYXRpb25fbWlsbGlzZWNvbmRzIjozMzY5NTgxOTc0MywicmVnaW9uIjoiU0EifV0sImF1dG9fYmxvY2siOmZhbHNlLCJzb3VyY2VzIjpbImJpbmciXX1dLCJ3aGl0ZWxhYmVsIjp7fSwid2Vic2l0ZUlkIjoiOGQ3YmM4NzctMDU2OC00YjM2LTgzNDAtZTYxODQ5YzM1MmMzIiwibGVnaXNsYXRpb24iOiJsZ3BkIiwibGFuZ3VhZ2UiOiJwdCIsIm9yZ1BhdGgiOm51bGwsImN1c3RvbUxwTmFtZSI6bnVsbCwid2FybmluZ3MiOltdLCJhdXRvQmxvY2siOnsid2F0ZXJNYXJrIjpmYWxzZX0sInRjZiI6eyJlbmFibGVkIjpmYWxzZSwidmVuZG9yX2lkcyI6W10sImZvcmNlVGNTdHJpbmciOmZhbHNlfSwiZGlzY2xhaW1lckluZm9WZXJzaW9uIjoyM31gOzthc3luYyBmdW5jdGlvbiBEdChlLHQsbyxyLGkpe190KHIsZSxpKTtsZXQgbj1bXSxhPVtdO2UudGFncy5mb3JFYWNoKGU9PnsoZS5hY2NlcHQ/bjphKS5wdXNoKGUuaWQpfSk7dmFyIHM9ZT8uY29uc2VudE9wdGlvbnM/LmNvbnNlbnRUVEw/PzYwLGw9ZT8uY29uc2VudE9wdGlvbnM/LmNvbnNlbnRWZXJzaW9uPz8wLGM9ZT8uY29uc2VudE9wdGlvbnM/LmFsbG93VFBDb29raWVzPz8hMSxkPWU/LmNvbnNlbnRPcHRpb25zPy5wcmlvcml0eVF1ZXVlPz8hKGU/LmF1dG9CbG9jaz8ud2F0ZXJNYXJrPz8hMCkscz1hd2FpdCBEZS5wb3N0KCIvYXBpL3RhZy91cGRhdGUtY29uc2VudCIse3dlYnNpdGVJRDp0LG9wdEluVGFnczpuLG9wdE91dFRhZ3M6YSx2aXNpdG9ySWQ6UnQobyk/bzpudWxsLGRldmljZTpZdCgpLGNvbnNlbnRUVEw6cyxjb25zZW50VmVyc2lvbjpsLGV2ZW50VHlwZTppPT09ei5SZWplY3RBbGw/aTpudWxsLHRjU3RyaW5nOkV0KCkscHJpb3JpdHlRdWV1ZTpkLGFsbG93VFBDb29raWVzOmMsY29uc2VudElkOigoZSx0KT0+e2xldCBvPVZ0KCJBZG9wdENvbnNlbnQiLGUsdD8uY29uc2VudE9wdGlvbnM/LnJlbW92ZUNvbnNlbnRGcm9tQ29va2llcz8/ITEpLHI9dm9pZCAwO2lmKG8pdHJ5e3I9SlNPTi5wYXJzZShvKT8uY29uc2VudElkfWNhdGNoe31yZXR1cm4gcn0pKHIsZSl9LHt3aXRoQ3JlZGVudGlhbHM6ITB9LGU/LmRpc2NsYWltZXJPcHRpb25zPy5pZnJhbWVSZXF1ZXN0Pz8hMSk7enQoIkFkb3B0Q29uc2VudCIsSlNPTi5zdHJpbmdpZnkoe3dlYnNpdGVJRDp0LHZpc2l0b3JJZDpSdChvKT9vOm51bGwsdGNmU3RyaW5nOkV0KCksb3B0SW5UYWdzOm4sb3B0T3V0VGFnczphLGNvbnNlbnRJZDpzPy5kYXRhPy5uZXdDb25zZW50SWQsY29uc2VudFZlcnNpb246ZS5jb25zZW50T3B0aW9ucy5jb25zZW50VmVyc2lvbix1cGRhdGVkQXQ6bmV3IERhdGV9KSxyLHZvaWQgMCxlLmNvbnNlbnRPcHRpb25zLnJlbW92ZUNvbnNlbnRGcm9tQ29va2llcz8/ITEpfWFzeW5jIGZ1bmN0aW9uIEJ0KG4sYSxzKXt0cnl7bGV0IGU9dm9pZCAwO2lmKGsuZGVidWcoImRpc2NsYWltZXJJZCIsbiksIU90LmluY2x1ZGVzKCd7Im1lc3NhZ2UiOiJubyBJbmZvIn0nKSl7aWYoT3Q9T3Quc3BsaXQoIlxuIikuam9pbigiIiksKGU9SlNPTi5wYXJzZShPdCkpPy5tZXNzYWdlKXRocm93IG5ldyBFcnJvcigiZXJyb3IgZm9yIHVzZXI6IitlLm1lc3NhZ2UpO2U9e2RhdGE6ey4uLmV9fX12YXIgbCxjLGQscCx1PWV8fGF3YWl0IERlLmdldCgiL2FwaS90YWcvdjEuMC9kaXNjbGFpbWVyLWluZm8/ZGlzY2xhaW1lcklkPSIrbiwhMSksZz0oKHUuZGF0YT8udGNmPy5lbmFibGVkJiZ0ZVtlZS5FdXJvcGVdLmluY2x1ZGVzKHUuZGF0YS5sZWdpc2xhdGlvbil8fHUuZGF0YT8udGNmPy5mb3JjZVRjU3RyaW5nKSYmVCgpLFV0KHU/LmRhdGE/LmRpc2NsYWltZXJPcHRpb25zPy5zaG91bGRTZXRTdWJkb21haW5Db29raWUpKSx0PVZ0KCJBZG9wdFZpc2l0b3JJZCIsZyksbz0oay5kZWJ1ZygiYWRvcHRWaXNpdG9ySWQiLHQpLHU/LmRhdGE/LmNvbnNlbnRPcHRpb25zPy5jb25zZW50VFRMPz82MCkscj11Py5kYXRhPy5jb25zZW50T3B0aW9ucz8uY29uc2VudFZlcnNpb24/PzAsbT1hd2FpdChhc3luYyh0LGUsbyxyLGkpPT57bGV0IG49VnQoIkFkb3B0Q29uc2VudCIsdCxyKSxhPW51bGw7aWYoIW4pcmV0dXJuIGsuZGVidWcoIkNPTlNFTlQgLSBXaXRob3V0IGNvbnNlbnQgc2F2ZWQgb24gYnJvd3NlciIpLFB0KHQsbyxyLGkpO3RyeXthPUpTT04ucGFyc2Uobil9Y2F0Y2goZSl7cmV0dXJuIGsuZGVidWcoIkNPTlNFTlQgLSBFcnJvciBwYXJzaW5nIGNvbnNlbnQiKSxQdCh0LG8scixpKX12YXIgcz1hd2FpdChhc3luYyhlPSExLHQpPT57bGV0IG89dm9pZCAwO3JldHVybiBvPWU/YXdhaXQgRGUucG9zdCgiL2FwaS90YWcvZ2V0LWNvbnNlbnQtY2hhbmdlcyIse2FsbG93VFBDb29raWVzOmV9LHt3aXRoQ3JlZGVudGlhbHM6ITB9LHQ/PyExKTpvfSkobz8uYWxsb3dUUENvb2tpZXMsaSk7cmV0dXJuKCh0LGUsbyk9PihvPW8/LmZpbHRlcihlPT5lPT10LmNvbnNlbnRJZCksISghKCJvYmplY3QiPT10eXBlb2YgdCYmInN0cmluZyI9PXR5cGVvZiB0LndlYnNpdGVJRCYmQXJyYXkuaXNBcnJheSh0Lm9wdEluVGFncykmJkFycmF5LmlzQXJyYXkodC5vcHRPdXRUYWdzKSYmIm51bWJlciI9PXR5cGVvZiB0LmNvbnNlbnRWZXJzaW9uJiYic3RyaW5nIj09dHlwZW9mIHQudXBkYXRlZEF0JiZ0LmNvbnNlbnRWZXJzaW9uPT09ZSYmKG5ldyBEYXRlKS5nZXRUaW1lKCktbmV3IERhdGUodC51cGRhdGVkQXQpLmdldFRpbWUoKTw4NjRlNSl8fG8mJjAhPW8ubGVuZ3RoKSkpKGEsZSxzPy5kYXRhPy5jb25zZW50cz8ubWFwKGU9PmUuaWQpKT8oay5kZWJ1ZygiQ09OU0VOVCAtIENvbnNlbnQgaXMgdmFsaWQgYW5kIHVwIHRvIGRhdGUiKSx7c3VjY2VzczohMCxkYXRhOmF9KTooay5kZWJ1ZygiQ09OU0VOVCAtIEludmFsaWQgY29uc2VudCIpLFB0KHQsbyxyLGkpKX0pKGcscix7ZGlzY2xhaW1lcklkOm4sYWRvcHRWaXNpdG9ySWQ6dCxjb25zZW50VFRMOm8sY29uc2VudFZlcnNpb246cixwcmlvcml0eVF1ZXVlOnU/LmRhdGE/LmNvbnNlbnRPcHRpb25zPy5wcmlvcml0eVF1ZXVlPz8hKHU/LmRhdGE/LmF1dG9CbG9jaz8ud2F0ZXJNYXJrPz8hMCksYWxsb3dUUENvb2tpZXM6dT8uZGF0YT8uY29uc2VudE9wdGlvbnM/LmFsbG93VFBDb29raWVzPz8hMX0sdT8uZGF0YT8uY29uc2VudE9wdGlvbnM/LnJlbW92ZUNvbnNlbnRGcm9tQ29va2llcz8/ITEpO2lmKEM9ZywoaT1tKT8uZGF0YT8ub3B0SW5UYWdzPy5sZW5ndGh8fGk/LmRhdGE/Lm9wdE91dFRhZ3M/Lmxlbmd0aHx8TXQoImFkb3B0Q29uc2VudE1vZGUiLEMpLG0/LnN1Y2Nlc3Mpe2xldCBlPVd0KHU/LmRhdGEsbT8uZGF0YT8ub3B0SW5UYWdzLG0/LmRhdGE/Lm9wdE91dFRhZ3MsITEsbT8uZGF0YT8uZXZlbnRUeXBlPT09SS5GaXJzdFZpc2l0KTt1LmRhdGE/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyh1LmRhdGEubGVnaXNsYXRpb24pJiYoay5kZWJ1ZygiVmVuZG9yIElEczogIix1LmRhdGEudGNmLnZlbmRvcl9pZHMpLHtpYWJUYWdzOmwsaWFiQ2F0ZWdvcmllczpjLHZlbmRvckF0cElkczpkfT1hd2FpdChhc3luYyhjLGUsZCxwKT0+e3RyeXtsZXQgbz1hd2FpdCBEZS5nZXQoYC9hcGkvaWFiLyR7InB0Ij09PWU/InB0LWJyIjplfS92ZW5kb3ItbGlzdC5qc29uYCxwKSxyPShlPT57dHJ5e3JldHVybiBydC5kZWNvZGUoZSl9Y2F0Y2goZSl7fX0pKGQpO3ZhciB1LGcsbT1bXSxmPVtdO2xldCBpPXt9LHQ9e30sbj17fSxhPXt9O2Zvcih1IGluIGMpe2xldCBlPWNbdV07by52ZW5kb3JzW2VdPyhrLmRlYnVnKCJWZW5kb3IgRGF0YTogIixvLnZlbmRvcnNbZV0pLGc9QXJyYXkuZnJvbShuZXcgU2V0KG8udmVuZG9yc1tlXT8ucHVycG9zZXMuY29uY2F0KG8udmVuZG9yc1tlXT8ubGVnSW50UHVycG9zZXMpKSksbS5wdXNoKHsuLi5vLnZlbmRvcnNbZV0sbmFtZTpvLnZlbmRvcnNbZV0ubmFtZSxpZDplLGFjY2VwdDohIXImJnIudmVuZG9yQ29uc2VudHMuaGFzKE51bWJlcihlKSksbGVnSW50OjA8by52ZW5kb3JzW2VdLmxlZ0ludFB1cnBvc2VzLmxlbmd0aD8hcnx8ci52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLmhhcyhOdW1iZXIoZSkpOnZvaWQgMCxsZWdJbnRBbW91bnQ6by52ZW5kb3JzW2VdLmxlZ0ludFB1cnBvc2VzLmxlbmd0aCxkYXRhRGVjbGFyYXRpb246by52ZW5kb3JzW2VdLmRhdGFEZWNsYXJhdGlvbi5tYXAoZT0+by5kYXRhQ2F0ZWdvcmllc1tlXSkscHVycG9zZXM6Zy5tYXAodD0+KGlbdF0/aVt0XT17Li4uaVt0XSxjb25zZW50OiExPT09aVt0XS5jb25zZW50fHwhMD09PWlbdF0uY29uc2VudD9pW3RdLmNvbnNlbnQ6by52ZW5kb3JzW2VdLnB1cnBvc2VzLnNvbWUoZT0+ZT09PXQpPyEhciYmci5wdXJwb3NlQ29uc2VudHMuaGFzKE51bWJlcih0KSk6dm9pZCAwLGxlZ0ludDohMT09PWlbdF0ubGVnSW50fHwhMD09PWlbdF0ubGVnSW50P2lbdF0ubGVnSW50Om8udmVuZG9yc1tlXS5sZWdJbnRQdXJwb3Nlcy5zb21lKGU9PmU9PT10KT8hcnx8ci5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cy5oYXMoTnVtYmVyKHQpKTp2b2lkIDAsdmVuZG9yc1VzaW5nOmlbdF0udmVuZG9yc1VzaW5nKzEsdmVuZG9yc1VzaW5nTGVndEludDpvLnZlbmRvcnNbZV0ubGVnSW50UHVycG9zZXMuc29tZShlPT5lPT09dCk/aVt0XS52ZW5kb3JzVXNpbmdMZWd0SW50KzE6aVt0XS52ZW5kb3JzVXNpbmdMZWd0SW50fTppW3RdPXsuLi5vLnB1cnBvc2VzW3RdLGFjY2VwdDohIXImJnIucHVycG9zZUNvbnNlbnRzLmhhcyhOdW1iZXIodCkpLHZlbmRvcnNVc2luZzoxLHZlbmRvcnNVc2luZ0xlZ3RJbnQ6by52ZW5kb3JzW2VdLmxlZ0ludFB1cnBvc2VzLnNvbWUoZT0+ZT09PXQpPzE6MCxjb25zZW50Om8udmVuZG9yc1tlXS5wdXJwb3Nlcy5zb21lKGU9PmU9PT10KT8hIXImJnIucHVycG9zZUNvbnNlbnRzLmhhcyhOdW1iZXIodCkpOnZvaWQgMCxsZWdJbnQ6by52ZW5kb3JzW2VdLmxlZ0ludFB1cnBvc2VzLnNvbWUoZT0+ZT09PXQpPyFyfHxyLnB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzLmhhcyhOdW1iZXIodCkpOnZvaWQgMH0sby5wdXJwb3Nlc1t0XSkpLHNwZWNpYWxQdXJwb3NlczpvLnZlbmRvcnNbZV0uc3BlY2lhbFB1cnBvc2VzLm1hcChlPT4odFtlXT90W2VdPXsuLi50W2VdLHZlbmRvcnNVc2luZzp0W2VdLnZlbmRvcnNVc2luZysxfTp0W2VdPXsuLi5vLnNwZWNpYWxQdXJwb3Nlc1tlXSx2ZW5kb3JzVXNpbmc6MX0sby5zcGVjaWFsUHVycG9zZXNbZV0pKSxzcGVjaWFsRmVhdHVyZXM6by52ZW5kb3JzW2VdLnNwZWNpYWxGZWF0dXJlcy5tYXAoZT0+KGFbZV0/YVtlXT17Li4uYVtlXSx2ZW5kb3JzVXNpbmc6YVtlXS52ZW5kb3JzVXNpbmcrMX06YVtlXT17Li4uby5zcGVjaWFsRmVhdHVyZXNbZV0sdmVuZG9yc1VzaW5nOjEsYWNjZXB0OiEhciYmci5zcGVjaWFsRmVhdHVyZU9wdGlucy5oYXMoTnVtYmVyKGUpKX0sby5zcGVjaWFsRmVhdHVyZXNbZV0pKSxmZWF0dXJlczpvLnZlbmRvcnNbZV0uZmVhdHVyZXMubWFwKGU9PihuW2VdP25bZV09ey4uLm5bZV0sdmVuZG9yc1VzaW5nOm5bZV0udmVuZG9yc1VzaW5nKzF9Om5bZV09ey4uLm8uZmVhdHVyZXNbZV0sdmVuZG9yc1VzaW5nOjF9LG8uZmVhdHVyZXNbZV0pKX0pKTpmLnB1c2goZSl9bGV0IHMsbDtyZXR1cm4gT2JqZWN0LnZhbHVlcyhvLnN0YWNrcykuZm9yRWFjaCh0PT57dmFyIGU7T2JqZWN0LmtleXMoaSkubWFwKE51bWJlcikuZXZlcnkoZT0+dC5wdXJwb3Nlcy5pbmNsdWRlcyhlKXx8MT09PWUpJiYoKGU9dC5wdXJwb3Nlcy5sZW5ndGgpPHN8fHZvaWQgMD09PWwpJiYocz1lLGw9dCl9KSx7aWFiVGFnczptLHZlbmRvckF0cElkczpmLGlhYkNhdGVnb3JpZXM6e2ZlYXR1cmVzSW5Vc2U6bixzcGVjaWFsRmVhdHVyZXNJblVzZTphLHB1cnBvc2VzSW5Vc2U6aSxzcGVjaWFsUHVycG9zZXNJblVzZTp0LHN0YWNrSW5Vc2U6bH19fWNhdGNoKGUpe2suZXJyb3IoIklBQiBmZXRjaCB2ZW5kb3JzIGVycm9yOiAiK2UubWVzc2FnZSl9fSkodS5kYXRhLnRjZi52ZW5kb3JfaWRzLHUuZGF0YS5sYW5ndWFnZSxtPy5kYXRhPy50Y1N0cmluZyxlPy5kaXNjbGFpbWVyT3B0aW9ucz8uaWZyYW1lUmVxdWVzdCksZS5pYWJUYWdzPWwsZS52ZW5kb3JBdHBJZHM9ZCxlLmlhYkNhdGVnb3JpZXM9Yyk7bGV0IG89ZT8udmVuZG9yQXRwSWRzP20/LmRhdGE/Lm9wdEluVGFncy5tYXAodD0+T2JqZWN0LnZhbHVlcyhlPy50YWdzKS5maW5kKGU9PmUuaWQ9PT10KSk6W10scj17QWR2ZW50aXZlOiIxODQ1IixGaXZlcnI6IjI0NDAifTtbe2xhbmd1YWdlOmIsbGVnaXNsYXRpb246eCxmb3JjZVRjU3RyaW5nOnk9ITEsdmVuZG9yQXRwSWRzOnd9XT1be2xhbmd1YWdlOnUuZGF0YS5sYW5ndWFnZSxsZWdpc2xhdGlvbjp1LmRhdGEubGVnaXNsYXRpb24sZm9yY2VUY1N0cmluZzp1LmRhdGE/LnRjZj8uZm9yY2VUY1N0cmluZyx2ZW5kb3JBdHBJZHM6ZT8udmVuZG9yQXRwSWRzP3thY2NlcHRlZDplPy52ZW5kb3JBdHBJZHMuZmlsdGVyKHQ9Pm8uZmluZChlPT5yW2UubmFtZV09PXQpKSxyZWplY3RlZDplPy52ZW5kb3JBdHBJZHMuZmlsdGVyKHQ9PiFvLmZpbmQoZT0+cltlLm5hbWVdPT10KSl9Om51bGx9XSxhd2FpdCghKCR0PXg9PT1YLkdEUFJ8fHg9PT1YLlVLX0dEUFIpJiYheXx8KFR0PW5ldyBDdChOdW1iZXIoa3QpLE51bWJlcih2dCksITAse2dldFRDRGF0YTooZSx0LG8pPT57dmFyIHI9MDx3Py5hY2NlcHRlZD8ubGVuZ3RofHwwPHc/LnJlamVjdGVkPy5sZW5ndGg7ImJvb2xlYW4iIT10eXBlb2YgdCYmbnVsbCE9dCYmKHImJih0LmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZT0hMCkscikmJih0LmFkZHRsQ29uc2VudD0iMn4iKyhyPXcpPy5hY2NlcHRlZD8uam9pbigiLiIpKygwPHI/LnJlamVjdGVkPy5sZW5ndGg/In5kdi4iK3I/LnJlamVjdGVkPy5qb2luKCIuIik6IiIpKSxlKHQsbyl9fSksKEx0PW5ldyBvdChuZXcgdikpLnVuc2V0QWxsUHVycG9zZUNvbnNlbnRzKCksTHQudW5zZXRBbGxWZW5kb3JDb25zZW50cygpLEx0LmNtcElkPWt0LEx0LmNtcFZlcnNpb249dnQsTHQudmVyc2lvbj1JdCxMdC5jb25zZW50TGFuZ3VhZ2U9YixMdC5pc1NlcnZpY2VTcGVjaWZpYz0hMCx3Py5hY2NlcHRlZD8uZm9yRWFjaChlPT57THQudmVuZG9yQ29uc2VudHMuc2V0KE51bWJlcihlKSl9KSx3Py5yZWplY3RlZD8uZm9yRWFjaChlPT57THQudmVuZG9yc0Rpc2Nsb3NlZC5zZXQoTnVtYmVyKGUpKX0pLGF3YWl0IEx0Lmd2bC5yZWFkeVByb21pc2UsIUF0KHt1aVZpc2libGU6ITB9KSkpLHp0KCJBZG9wdFZpc2l0b3JJZCIsbT8uZGF0YT8udmlzaXRvcklkLGcpLGUuYWNjZXB0VGFncz1tPy5kYXRhPy5ldmVudFR5cGUhPT1JLkZpcnN0VmlzaXQmJigwIT09bT8uZGF0YT8ub3B0SW5UYWdzPy5sZW5ndGh8fDAhPT1tPy5kYXRhPy5vcHRPdXRUYWdzPy5sZW5ndGgpLChlLmFjY2VwdFRhZ3N8fDA8ZS5jb25zZW50T3B0aW9ucz8uY2F0ZWdvcmllc0ZpcmVkQXNEZWZhdWx0Py5sZW5ndGgpJiZfdChnLGUpLGU/LnVybHM/Lm9wdG91dCYmKChwPW5ldyBVUkwoZS51cmxzLm9wdG91dCkpLnNlYXJjaFBhcmFtcy5zZXQoInZpc2l0b3JJZCIsbT8uZGF0YT8udmlzaXRvcklkKSxlLnVybHMub3B0b3V0PXAudG9TdHJpbmcoKSk7dmFye3VwZGF0ZWRUYWdzOmYsY2F0ZWdvcmllc1N0YXR1czpofT1qdChlLnRhZ3MsYSxzLHZvaWQgMCxlLmNhdGVnb3JpZXNTdGF0dXMpO2UudGFncz1mLGUuY2F0ZWdvcmllc1N0YXR1cz1oLChlPVd0KHU/LmRhdGEsbT8uZGF0YT8ub3B0SW5UYWdzLG0/LmRhdGE/Lm9wdE91dFRhZ3MsITAsbT8uZGF0YT8uZXZlbnRUeXBlPT09SS5GaXJzdFZpc2l0KSkudmlzaXRvcklkPW0/LmRhdGE/LnZpc2l0b3JJZDtsZXQgdCxpPSExO3JldHVybiB0ZVtlZS5Ob3J0aEFtZXJpY2FdLmluY2x1ZGVzKGUubGVnaXNsYXRpb24pJiZuYXZpZ2F0b3IuZ2xvYmFsUHJpdmFjeUNvbnRyb2wmJiExPT09ZS5hY2NlcHRUYWdzJiYoRHQoZT1IdChlLHouUmVqZWN0QWxsKSxuLG0/LmRhdGE/LnZpc2l0b3JJZCxnLHouUmVqZWN0QWxsKSxlLmFjY2VwdFRhZ3M9ITApLGU/ZS50YWdzJiYwIT09ZS50YWdzLmxlbmd0aD9lPy5hY2NlcHRUYWdzJiZHdChlKT90PU0uSGlkZGVuOmU/LmFjY2VwdFRhZ3M/dD1NLkNsb3NlZDoodD1NLkNhcmQsaT0hMD09PWU/LmRpc2NsYWltZXJPcHRpb25zPy5jb25zZW50V2FsbCk6KGsuZXJyb3IoIldlIGRpZG4ndCBmaW5kIGFueSB0YWdzLCBzY2FuIHlvdXIgc2l0ZSBpbiBBZE9wdCBEYXNoYm9hcmQuIixudWxsLCEwKSx0PU0uSGlkZGVuKTooay53YXJuaW5nKCJXZSBkaWRuJ3QgZmluZCBhbnkgY29uZmlndXJhdGlvbi4gQ2hlY2sgaWYgd2UgaGF2ZSBhbnkgY2FjaGUgaW5zaWRlIHRoZSBzaXRlLiIpLHQ9TS5IaWRkZW4pLG0/LmRhdGE/LnRjU3RyaW5nJiYodS5kYXRhPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXModS5kYXRhLmxlZ2lzbGF0aW9uKXx8dS5kYXRhPy50Y2Y/LmZvcmNlVGNTdHJpbmcpJiZBdCh7dGNTdHJpbmc6bT8uZGF0YT8udGNTdHJpbmcsdWlWaXNpYmxlOnQ9PT1NLkNhcmR9KSx7Y29uZmlnOmUsdmlzaXRvcklkOm0/LmRhdGE/LnZpc2l0b3JJZCxjdXJyZW50UGFnZTp0LHNob3VsZFNob3dDb25zZW50V2FsbDppfX19Y2F0Y2goZSl7aWYoZS5tZXNzYWdlLmluY2x1ZGVzKCJlcnJvciBmb3IgdXNlcjoiKSl0aHJvdyBlLm1lc3NhZ2U9ZS5tZXNzYWdlLnNwbGl0KCJlcnJvciBmb3IgdXNlcjoiKVsxXSxrLmVycm9yKGUubWVzc2FnZSwiIiwhMCksZTtrLmVycm9yKCJnZXRTdGFydGluZ0luZm8iLGUpfXZhciBiLHgseSx3LGksQ31hc3luYyBmdW5jdGlvbiBQdChlLHtkaXNjbGFpbWVySWQ6dCxhZG9wdFZpc2l0b3JJZDpvLGNvbnNlbnRUVEw6cixjb25zZW50VmVyc2lvbjppLHByaW9yaXR5UXVldWU6bixhbGxvd1RQQ29va2llczphfSxzLGwpe289YXdhaXQgRGUucG9zdCgiL2FwaS90YWcvZ2V0LWNvbnNlbnQiLHt3ZWJzaXRlSUQ6dCxhZG9wdENvbnNlbnQ6bnVsbCx2aXNpdG9ySWQ6UnQobyk/bzpudWxsLGRldmljZTpZdCgpLGNvbnNlbnRUVEw6cixjb25zZW50VmVyc2lvbjppLHByaW9yaXR5UXVldWU6bixhbGxvd1RQQ29va2llczphfSx7d2l0aENyZWRlbnRpYWxzOiEwfSxsPz8hMSk7cmV0dXJuIHp0KCJBZG9wdENvbnNlbnQiLEpTT04uc3RyaW5naWZ5KHt3ZWJzaXRlSUQ6dCx2aXNpdG9ySWQ6bz8uZGF0YT8udmlzaXRvcklkLHRjZlN0cmluZzpvPy5kYXRhPy50Y2ZTdHJpbmcsb3B0SW5UYWdzOm8/LmRhdGE/Lm9wdEluVGFncz8/W10sb3B0T3V0VGFnczpvPy5kYXRhPy5vcHRPdXRUYWdzPz9bXSxjb25zZW50SWQ6bz8uZGF0YT8uY29uc2VudElkLGV2ZW50VHlwZTpvPy5kYXRhPy5ldmVudFR5cGUsY29uc2VudFZlcnNpb246aSx1cGRhdGVkQXQ6bmV3IERhdGV9KSxlLHZvaWQgMCxzKSxvfWZ1bmN0aW9uIF90KGUsdCxvKXtrLmRlYnVnKCJJbnNpZGUgZ29vZ2xlQ29uc2VudE1vZGUsIHdpbmRvdyBhZG9wdC1pcy1jb25zZW50LW1vZGU6Iix3aW5kb3dbImFkb3B0LWlzLWNvbnNlbnQtbW9kZSJdKTt2YXIgcj17fSxpPXt9LG49dC50YWdzLmV2ZXJ5KGU9PmUuYWNjZXB0KTtpZihvJiZvPT16LkFjY2VwdEFsbHx8bilmb3IodmFyIGEgb2YgT2JqZWN0LmtleXModykuZmlsdGVyKGU9PmlzTmFOKE51bWJlcihlKSkpKWlbYV09ITA7ZWxzZXtmb3IodmFyIHMgb2YgT2JqZWN0LmtleXModykuZmlsdGVyKGU9PmlzTmFOKE51bWJlcihlKSkpKWlbc109ITE7Zm9yKHZhciBsIG9mIHQudGFncylyW2wudGFnX2NhdGVnb3J5X2lkXT1yW2wudGFnX2NhdGVnb3J5X2lkXXx8W10scltsLnRhZ19jYXRlZ29yeV9pZF0ucHVzaChsKTtmb3IodmFyIGMgaW4gcil7dmFyIGQ9KCh0LG8pPT57dmFyIGU9T2JqZWN0LmtleXModCkuZmlsdGVyKGU9PnRbZV09PW8pO3JldHVybiAwPGUubGVuZ3RoP2VbMF06bnVsbH0pKHcsYyk7ZCYmcltjXS5ldmVyeShlPT4hMD09PWUuYWNjZXB0KSYmKGlbZF09ITApfX16dCgiYWRvcHRDb25zZW50TW9kZSIsSlNPTi5zdHJpbmdpZnkoaSksZSwhMSwhMCksd2luZG93LmRhdGFMYXllcj1BcnJheS5pc0FycmF5KHdpbmRvdy5kYXRhTGF5ZXIpP3dpbmRvdy5kYXRhTGF5ZXI6W10sd2luZG93LmRhdGFMYXllci5wdXNoKHtldmVudDoiYWRvcHQtdmlzaXRvci1jb25zZW50LXJlYWR5In0pfWxldCBqdD0oZSxvLHQscixpPSgoKT0+T2JqZWN0LmtleXMoZikuZmlsdGVyKGU9PmlzTmFOKE51bWJlcihlKSkpLnJlZHVjZSgoZSx0KT0+KGVbdF09e2FjY2VwdGVkOiExLGFscmVhZHlBY2NlcHRlZDohMX0sZSkse30pKSgpKT0+e3dpbmRvdy5hY2NlcHRlZFRhZ3M9d2luZG93LmFjY2VwdGVkVGFnc3x8W107bGV0IG49W107dmFyIGE9ZS5tYXAoZT0+ZS5hY2NlcHQmJiF3aW5kb3cuYWNjZXB0ZWRUYWdzLmluY2x1ZGVzKGUuaWQpPyh3aW5kb3cuYWNjZXB0ZWRUYWdzLnB1c2goZS5pZCksd2luZG93LmRhdGFMYXllcj1BcnJheS5pc0FycmF5KHdpbmRvdy5kYXRhTGF5ZXIpP3dpbmRvdy5kYXRhTGF5ZXI6W10sd2luZG93LmRhdGFMYXllci5wdXNoKHtldmVudDplLmlkfSksZS5hbHJlYWR5QWNjZXB0ZWR8fG4ucHVzaChlKSx7Li4uZSxhY2NlcHQ6ITAsYWxyZWFkeUFjY2VwdGVkOiEwfSk6ZSk7e3ZhciBzPWksbD1lO2xldCByPWwuZXZlcnkoZT0+ZS5hY2NlcHQpO09iamVjdC5lbnRyaWVzKHMpLmZvckVhY2goKFt0LGVdKT0+e3ZhciBvPWwuZmlsdGVyKGU9PihlPWUudGFnX2NhdGVnb3J5X2lkLGZbZV09PT10KSk7KG8uZXZlcnkoZT0+ITA9PT1lLmFjY2VwdCkmJjA8by5sZW5ndGh8fHIpJiYoZS5hY2NlcHRlZD0hMCksZS5hY2NlcHRlZCYmIWUuYWxyZWFkeUFjY2VwdGVkJiYod2luZG93LmRhdGFMYXllcj1BcnJheS5pc0FycmF5KHdpbmRvdy5kYXRhTGF5ZXIpP3dpbmRvdy5kYXRhTGF5ZXI6W10sd2luZG93LmRhdGFMYXllci5wdXNoKHtldmVudDoiYWRvcHQtYWNjZXB0LSIrdC50b0xvd2VyQ2FzZSgpfSksc1t0XT17YWNjZXB0ZWQ6ITAsYWxyZWFkeUFjY2VwdGVkOiEwfSl9KX12YXIgYz13aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmFkb3B0LWluamVjdG9yLWJsb2NrIik7aWYodD8uKGUpLG8/LihuKSxjKXt2YXJbZD1bXSx0XT1bbi5mbGF0TWFwKGU9PmUuc291cmNlcyksZV07aWYobz13aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmFkb3B0LWluamVjdG9yLWJsb2NrIikpe3Q/LmZpbmQoZT0+IkZyZXNod29ya3MiPT1lPy5uYW1lKSYmc2V0VGltZW91dCgoKT0+e3dpbmRvdy50b3AuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImxvYWQiKSl9LDNlMyk7bGV0IGU9bmV3IFJlZ0V4cCgiW3xcXHt9KClbXFxdXiQrKj8uXSIsImciKTtkLmxlbmd0aDwxPyh3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3Q9W10sd2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0PVtdKTood2luZG93LmF1dG9CbG9ja0xpc3QuYmxhY2tsaXN0JiYod2luZG93LmF1dG9CbG9ja0xpc3QuYmxhY2tsaXN0PXdpbmRvdy5hdXRvQmxvY2tMaXN0LmJsYWNrbGlzdC5maWx0ZXIodD0+ZC5ldmVyeShlPT4ic3RyaW5nIj09dHlwZW9mIGU/IXQudGVzdChlKTplIGluc3RhbmNlb2YgUmVnRXhwP3QudG9TdHJpbmcoKSE9PWUudG9TdHJpbmcoKTp2b2lkIDApKSksd2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0JiYod2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0PVsuLi53aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3QsLi4uZC5tYXAobz0+e2lmKCJzdHJpbmciPT10eXBlb2Ygbyl7bGV0IHQ9Ii4qIitvLnJlcGxhY2UoZSwiXFwkJiIpKyIuKiI7aWYod2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0LmV2ZXJ5KGU9PmUudG9TdHJpbmcoKSE9PXQudG9TdHJpbmcoKSkpcmV0dXJuIG5ldyBSZWdFeHAodCl9ZWxzZSBpZihvIGluc3RhbmNlb2YgUmVnRXhwJiZ3aW5kb3cuYXV0b0Jsb2NrTGlzdC53aGl0ZWxpc3QuZXZlcnkoZT0+ZS50b1N0cmluZygpIT09by50b1N0cmluZygpKSlyZXR1cm4gbztyZXR1cm4gbnVsbH0pLmZpbHRlcihCb29sZWFuKV0pKTt2YXIgcD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzY3JpcHRbdHlwZT0iamF2YXNjcmlwdC9ibG9ja2VkIl0nKTtmb3IobGV0IGU9MDtlPHAubGVuZ3RoO2UrKyl7dmFyIHU9cFtlXTtOdCh1KSYmKHdpbmRvdy5iYWNrdXBTY3JpcHRzLmJsYWNrbGlzdGVkLnB1c2goW3UsImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiXSksdS5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHUpKX1sZXQgbj0wO1suLi53aW5kb3cuYmFja3VwU2NyaXB0cy5ibGFja2xpc3RlZF0uZm9yRWFjaCgoW3QsZV0sbyk9PntpZihOdCh0KSl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Zm9yKGxldCBlPTA7ZTx0LmF0dHJpYnV0ZXMubGVuZ3RoO2UrKyl7dmFyIGk9dC5hdHRyaWJ1dGVzW2VdOyJzcmMiIT09aS5uYW1lJiYidHlwZSIhPT1pLm5hbWUmJnIuc2V0QXR0cmlidXRlKGkubmFtZSx0LmF0dHJpYnV0ZXNbZV0udmFsdWUpfXQuc3JjJiZyLnNldEF0dHJpYnV0ZSgic3JjIix0LnNyYyksci5pbm5lckhUTUw9dC5pbm5lckhUTUwsci5zZXRBdHRyaWJ1dGUoImFkb3B0LWFjY2VwdGVkIiwhMCksci5zZXRBdHRyaWJ1dGUoInR5cGUiLGV8fCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChyKSx3aW5kb3cuYmFja3VwU2NyaXB0cy5ibGFja2xpc3RlZC5zcGxpY2Uoby1uLDEpLG4rK319KTt2YXIgZyxvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIlthZG9wdC1zcmNdIik7aWYoby5sZW5ndGgpZm9yKGxldCB0IG9mIG8pZC5zb21lKGU9PnQuZ2V0QXR0cmlidXRlKCJhZG9wdC1zcmMiKS5pbmNsdWRlcyhlKSkmJihnPXdpbmRvdy5iYWNrdXBJZnJhbWVzW3QuZ2V0QXR0cmlidXRlKCJhZG9wdC1zcmMiKV0pJiYodC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGcpLHQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KSk7bz10LmV2ZXJ5KGU9PmUuYWNjZXB0KTt3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3QmJndpbmRvdy5hdXRvQmxvY2tMaXN0LmJsYWNrbGlzdC5sZW5ndGg8MSYmbyYmd2luZG93Lm9ic2VydmVyLmRpc2Nvbm5lY3QoKX19cmV0dXJue3VwZGF0ZWRUYWdzOmEsY2F0ZWdvcmllc1N0YXR1czppfX07ZnVuY3Rpb24gTnQoZSl7bGV0IHQ9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2U9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtYWRvcHQiKTtyZXR1cm4gdCYmd2luZG93LmF1dG9CbG9ja0xpc3QuYmxhY2tsaXN0JiZ3aW5kb3cuYXV0b0Jsb2NrTGlzdC5ibGFja2xpc3QuZXZlcnkoZT0+IWUudGVzdCh0KSl8fHQmJndpbmRvdy5hdXRvQmxvY2tMaXN0LndoaXRlbGlzdCYmd2luZG93LmF1dG9CbG9ja0xpc3Qud2hpdGVsaXN0LnNvbWUoZT0+ZS50ZXN0KHQpKXx8ZSYmd2luZG93LmFjY2VwdGVkVGFncy5pbmNsdWRlcyhlKX1mdW5jdGlvbiBWdCh0LG8scj0hMSl7dmFyIGk9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCk7aWYociYmKGRvY3VtZW50LmNvb2tpZT10KyI9O2V4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7cGF0aD0vO2RvbWFpbj0iK28pLGkpe2xldCBlPXMuZGVjb21wcmVzc0Zyb21CYXNlNjQoaSk7aWYoZSlyZXR1cm4gZTt0cnl7cmV0dXJuIHdpbmRvdy5kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoaSkpKSxkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoaSkpKX1jYXRjaChlKXtyZXR1cm4genQodCxpLG8sdm9pZCAwLHIpLGl9fWk9RnQoKVt0XTtsZXQgZT1zLmRlY29tcHJlc3NGcm9tQmFzZTY0KGkpO2lmKGUpcmV0dXJuIGU7dHJ5e3JldHVybiB3aW5kb3cuZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShhdG9iKGkpKSksZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShhdG9iKGkpKSl9Y2F0Y2goZSl7cmV0dXJuIHp0KHQsaSxvLHIpLGl9fWZ1bmN0aW9uIE10KGUsdCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSksZG9jdW1lbnQuY29va2llPWUrIj07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVDtwYXRoPS87ZG9tYWluPSIrdH1mdW5jdGlvbiB6dChlLHQsbyxyPSEwLGk9ITEpe2xldCBuO249MD09cj90OnMuY29tcHJlc3NUb0Jhc2U2NCh0KSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLG4pLDA9PWk/KChyPW5ldyBEYXRlKS5zZXRUaW1lKHIuZ2V0VGltZSgpKzUxODRlNiksZG9jdW1lbnQuY29va2llPWAke2V9PSR7bn07ZXhwaXJlcz0ke3IudG9VVENTdHJpbmcoKX07cGF0aD0vO2RvbWFpbj0ke299O3NlY3VyZTtgKTpkb2N1bWVudC5jb29raWU9ZSsiPTtleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UO3BhdGg9Lztkb21haW49IitvfWZ1bmN0aW9uIEZ0KCl7bGV0IHQ9e307cmV0dXJuIGRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZT1lLm1hdGNoKC8oLio/KT0oLiopJC8pO2UmJih0W2VbMV0udHJpbSgpXT0oZVsyXXx8IiIpLnRyaW0oKSl9KSx0fWZ1bmN0aW9uIFV0KGU9ITEpe2lmKGUpcmV0dXJuIHdpbmRvdz8udG9wPy5sb2NhdGlvbi5ob3N0bmFtZTtsZXQgdD0wLG89d2luZG93Py50b3A/LmxvY2F0aW9uLmhvc3RuYW1lO3ZhciByPW8/LnNwbGl0KCIuIiksaT0iQWRvcHRHRCIrKG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYobnVsbCE9ZG9jdW1lbnQuY29va2llJiZyKXtmb3IoO3Q8ci5sZW5ndGgtMSYmLTE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKGkrIj0iK2kpOylvPXIuc2xpY2UoLTEtKyt0KS5qb2luKCIuIiksZG9jdW1lbnQuY29va2llPWkrIj0iK2krIjtkb21haW49IitvKyI7c2VjdXJlOyI7cmV0dXJuIGRvY3VtZW50LmNvb2tpZT1pKyI9O2V4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7ZG9tYWluPSIrbysiO3NlY3VyZTsiLG8/P251bGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gV3QodCxvLHIsaSxuPSExKXtyZXR1cm4gdC50YWdzPXQ/LnRhZ3M/Lm1hcChlPT4oZT17Li4uZSxhbHJlYWR5QWNjZXB0ZWQ6ZS5hbHJlYWR5QWNjZXB0ZWQ/PyExfSxpJiZuJiZudWxsIT09dC5jb25zZW50T3B0aW9ucz8uY2F0ZWdvcmllc0FjdGl2ZUJ5RGVmYXVsdD90LmNvbnNlbnRPcHRpb25zPy5jYXRlZ29yaWVzQWN0aXZlQnlEZWZhdWx0Py5pbmNsdWRlcyhDW2UudGFnX2NhdGVnb3J5X2lkXSl8fDE9PT1lLnRhZ19jYXRlZ29yeV9pZD97Li4uZSxhY2NlcHQ6ITB9OnsuLi5lLGFjY2VwdDohMX06MT09PWUudGFnX2NhdGVnb3J5X2lkfHxuJiZ0LmNvbnNlbnRPcHRpb25zPy5jYXRlZ29yaWVzRmlyZWRBc0RlZmF1bHQ/LmluY2x1ZGVzKENbZS50YWdfY2F0ZWdvcnlfaWRdKXx8by5pbmNsdWRlcyhlLmlkKXx8IXIuaW5jbHVkZXMoZS5pZCkmJiExPT09dD8uZGlzY2xhaW1lck9wdGlvbnM/LnVuY2hlY2tUYWdzJiYhMD09PWk/ey4uLmUsYWNjZXB0OiEwfTp7Li4uZSxhY2NlcHQ6ITF9KSkuZmlsdGVyKGU9PjYhPT1lLnRhZ19jYXRlZ29yeV9pZCksdH1mdW5jdGlvbiBIdCh0LG8pe3JldHVybiB0LnRhZ3M9dD8udGFncz8ubWFwKGU9PjE9PT1lLnRhZ19jYXRlZ29yeV9pZD97Li4uZSxhY2NlcHQ6ITB9OnsuLi5lLGFjY2VwdDpvPT09ei5BY2NlcHRBbGx9KSx0Py50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXModC5sZWdpc2xhdGlvbikmJih0LmlhYlRhZ3M9dD8uaWFiVGFncz8ubWFwKGU9Pih7Li4uZSxhY2NlcHQ6bz09PXouQWNjZXB0QWxsfSkpLE9iamVjdC5rZXlzKHQ/LmlhYkNhdGVnb3JpZXM/LnB1cnBvc2VzSW5Vc2UpPy5mb3JFYWNoKGU9Pnt0LmlhYkNhdGVnb3JpZXMucHVycG9zZXNJblVzZVtlXT17Li4udC5pYWJDYXRlZ29yaWVzLnB1cnBvc2VzSW5Vc2VbZV0sYWNjZXB0Om89PT16LkFjY2VwdEFsbH19KSxPYmplY3Qua2V5cyh0LmlhYkNhdGVnb3JpZXMuc3BlY2lhbEZlYXR1cmVzSW5Vc2UpPy5mb3JFYWNoKGU9Pnt0LmlhYkNhdGVnb3JpZXMuc3BlY2lhbEZlYXR1cmVzSW5Vc2VbZV09ey4uLnQuaWFiQ2F0ZWdvcmllcy5zcGVjaWFsRmVhdHVyZXNJblVzZVtlXSxhY2NlcHQ6bz09PXouQWNjZXB0QWxsfX0pKSx0fWZ1bmN0aW9uIEd0KGUpe3JldHVybiBlPy5kaXNjbGFpbWVyT3B0aW9ucy5oaWRlRGlzY2xhaW1lcn1hc3luYyBmdW5jdGlvbiBxdChlLHQsbyxyKXt2YXIgaTtyZXR1cm4od2luZG93Py50b3A/LmFkb3B0UmVqZWN0QWxsfHwoaT0iQWRvcHRSZWplY3RBbGwiLEZ0KClbaV0pKSYmKGUuYWNjZXB0VGFnc3x8RHQoZSx0LG8scix6LlJlamVjdEFsbCksZS5hY2NlcHRUYWdzPSEwKSxlfWZ1bmN0aW9uIEt0KGUsdCxvPTApe3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpO3I/ci5pbm5lckhUTUw9YXRvYihlKTpvPDMmJnNldFRpbWVvdXQoKCk9PntLdChlLHQsbysxKX0sNTApfWZ1bmN0aW9uIFF0KGUsdCl7cmV0dXJuIDM9PShlPWUucmVwbGFjZSgvXlxzKiN8XHMqJC9nLCIiKSkubGVuZ3RoJiYoZT1lLnJlcGxhY2UoLyguKS9nLCIkMSQxIikpLGByZ2JhKCR7cGFyc2VJbnQoZS5zdWJzdHIoMCwyKSwxNil9LCAke3BhcnNlSW50KGUuc3Vic3RyKDIsMiksMTYpfSwgJHtwYXJzZUludChlLnN1YnN0cig0LDIpLDE2KX0sICR7dH0pYH1mdW5jdGlvbiBKdChlLHQpe3JldHVybmBsaW5lYXItZ3JhZGllbnQodG8gJHtlfSwke3R9IDcwJSwgJHtRdCh0LC40KX0gMTQwJSlgfWZ1bmN0aW9uIFp0KGUpe3ZhciBlPU1hdGguY2VpbChlLzFlMyksdD1NYXRoLmNlaWwoZS82MCksbz1NYXRoLmNlaWwodC82MCkscj1NYXRoLmNlaWwoby8yNCksaT1NYXRoLmZsb29yKHIvMzApLG49TWF0aC5mbG9vcihpLzEyKTtyZXR1cm4gMTI8PWk/aSUxMj09MD97bnVtYmVyOm4sdHlwZToxPT09bj8ieWVhciI6InllYXJzIn06e251bWJlcjppLHR5cGU6Im1vdW50aHMifTozMDw9cj9yJTMwPT0wP3tudW1iZXI6aSx0eXBlOjE9PT1pPyJtb3VudGgiOiJtb3VudGhzIn06e251bWJlcjpyLHR5cGU6ImRheXMifToyNDxvP3tudW1iZXI6cix0eXBlOjE9PT1yPyJkYXkiOiJkYXlzIn06NjA8dD97bnVtYmVyOm8sdHlwZToxPT09bz8iaG91ciI6ImhvdXJzIn06NjA8ZT97bnVtYmVyOnQsdHlwZToxPT09dD8ibWludXRlIjoibWludXRlcyJ9OntudW1iZXI6ZSx0eXBlOjE9PT1lPyJzZWNvbmQiOiJzZWNvbmRzIn19ZnVuY3Rpb24gWXQoKXt2YXIgZT1uYXZpZ2F0b3IudXNlckFnZW50O3JldHVybi8odGFibGV0fGlwYWR8cGxheWJvb2t8c2lsayl8KGFuZHJvaWQoPyEuKm1vYmkpKS9pLnRlc3QoZSk/InRhYmxldCI6L01vYmlsZXxpUChob25lfG9kKXxBbmRyb2lkfEJsYWNrQmVycnl8SUVNb2JpbGV8S2luZGxlfFNpbGstQWNjZWxlcmF0ZWR8KGhwd3x3ZWIpT1N8T3BlcmEgTShvYml8aW5pKS8udGVzdChlKT8ibW9iaWxlIjoiZGVza3RvcCJ9ZnVuY3Rpb24gRChlLHQsbyxyLGkpe2lmKHZvaWQgMCE9PWkpe2lmKHQgaW4gaVtlXVtvXSlyZXR1cm4gaVtlXVtvXVt0XTtpZih0IGluIGlbZV1bb10pcmV0dXJuIGlbZV1bb11bdF07aWYodCBpbiBpW2VdW29dKXJldHVybiBpW2VdW29dW3RdfXJldHVybihlIGluIHI/cltlXTpyKVtvXVt0XX1mdW5jdGlvbiBYdChlLHQpe3JldHVybmBodHRwczovL2dvYWRvcHQuaW8vJHsicHQiPT09ZT8ubGFuZ3VhZ2U/IiI6ImVuLyJ9cG9ycXVlLWF2aXNvLz91dG1fY29udGVudD0ke3R9JnV0bV9tZWRpdW09Y29va2llX2Jhbm5lcl93ZWImdXRtX3NvdXJjZT1jb29raWVfYmFubmVyX2ArZT8ud2Vic2l0ZUlkfWZ1bmN0aW9uIGgoKXt9bGV0IGVvPWU9PmU7ZnVuY3Rpb24gdG8oZSl7cmV0dXJuIGUoKX1mdW5jdGlvbiBvbygpe3JldHVybiBPYmplY3QuY3JlYXRlKG51bGwpfWZ1bmN0aW9uIHJvKGUpe2UuZm9yRWFjaCh0byl9ZnVuY3Rpb24gaW8oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlIT1lP3Q9PXQ6ZSE9PXR8fGUmJiJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGV9bGV0IG5vO2Z1bmN0aW9uIGFvKGUsdCl7cmV0dXJuKG5vPW5vfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9dCxlPT09bm8uaHJlZn1sZXQgc289KGU9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpPygpPT53aW5kb3cucGVyZm9ybWFuY2Uubm93KCk6KCk9PkRhdGUubm93KCksbG89ZT9lPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSk6aCxjbz1uZXcgU2V0O2Z1bmN0aW9uIHBvKHQpe2NvLmZvckVhY2goZT0+e2UuYyh0KXx8KGNvLmRlbGV0ZShlKSxlLmYoKSl9KSwwIT09Y28uc2l6ZSYmbG8ocG8pfWZ1bmN0aW9uIHNlKGUsdCl7ZS5hcHBlbmRDaGlsZCh0KX1mdW5jdGlvbiB1byhlKXt2YXIgdDtyZXR1cm4gZT8odD1lLmdldFJvb3ROb2RlP2UuZ2V0Um9vdE5vZGUoKTplLm93bmVyRG9jdW1lbnQpJiZ0Lmhvc3Q/dDplLm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnR9ZnVuY3Rpb24gZ28oZSl7dmFyIHQsbz1kZSgic3R5bGUiKTtyZXR1cm4gZT11byhlKSx0PW8sc2UoZS5oZWFkfHxlLHQpLHQuc2hlZXQsby5zaGVldH1mdW5jdGlvbiBsZShlLHQsbyl7ZS5pbnNlcnRCZWZvcmUodCxvfHxudWxsKX1mdW5jdGlvbiBjZShlKXtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX1mdW5jdGlvbiBtbyh0LG8pe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9MSl0W2VdJiZ0W2VdLmQobyl9ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSl9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZSl9ZnVuY3Rpb24gcGUoZSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpfWZ1bmN0aW9uIHVlKCl7cmV0dXJuIHBlKCIgIil9ZnVuY3Rpb24gZm8oKXtyZXR1cm4gcGUoIiIpfWZ1bmN0aW9uIGdlKGUsdCxvLHIpe3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIodCxvLHIpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLHIpfWZ1bmN0aW9uIGhvKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gbWUoZSx0LG8pe251bGw9PW8/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6ZS5nZXRBdHRyaWJ1dGUodCkhPT1vJiZlLnNldEF0dHJpYnV0ZSh0LG8pfWZ1bmN0aW9uIGZlKGUsdCl7ZS5kYXRhIT09KHQ9IiIrdCkmJihlLmRhdGE9dCl9ZnVuY3Rpb24geChlLHQsbyxyKXtudWxsPT1vP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkodCk6ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG8scj8iaW1wb3J0YW50IjoiIil9ZnVuY3Rpb24gYm8oZSx0LHtidWJibGVzOm89ITEsY2FuY2VsYWJsZTpyPSExfT17fSl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7cmV0dXJuIGkuaW5pdEN1c3RvbUV2ZW50KGUsbyxyLHQpLGl9ZnVuY3Rpb24geG8oZSx0KXtyZXR1cm4gbmV3IGUodCl9Q2U9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOmdsb2JhbDtsZXQgeW89bmV3IE1hcCx3bz0wO2Z1bmN0aW9uIENvKGUsdCxvLHIsaSxuLGEscz0wKXt2YXIgbD0xNi42NjYvcjtsZXQgYz0ie1xuIjtmb3IobGV0IGU9MDtlPD0xO2UrPWwpe3ZhciBkPXQrKG8tdCkqbihlKTtjKz0xMDAqZStgJXske2EoZCwxLWQpfX0KYH12YXIgcD1jK2AxMDAlIHske2EobywxLW8pfX0KfWAscz1gX19zdmVsdGVfJHsoZT0+e2xldCB0PTUzODEsbz1lLmxlbmd0aDtmb3IoO28tLTspdD0odDw8NSktdF5lLmNoYXJDb2RlQXQobyk7cmV0dXJuIHQ+Pj4wfSkocCl9X2Arcyx1PXVvKGUpLHtzdHlsZXNoZWV0OnUscnVsZXM6Z309eW8uZ2V0KHUpfHwodT11LGc9e3N0eWxlc2hlZXQ6Z28oZz1lKSxydWxlczp7fX0seW8uc2V0KHUsZyksZykscD0oZ1tzXXx8KGdbc109ITAsdS5pbnNlcnRSdWxlKGBAa2V5ZnJhbWVzICR7c30gYCtwLHUuY3NzUnVsZXMubGVuZ3RoKSksZS5zdHlsZS5hbmltYXRpb258fCIiKTtyZXR1cm4gZS5zdHlsZS5hbmltYXRpb249KHA/cCsiLCAiOiIiKStzK2AgJHtyfW1zIGxpbmVhciAke2l9bXMgMSBib3RoYCx3bys9MSxzfWZ1bmN0aW9uIHZvKGUsdCl7dmFyIG89KGUuc3R5bGUuYW5pbWF0aW9ufHwiIikuc3BsaXQoIiwgIikscj1vLmZpbHRlcih0P2U9PmUuaW5kZXhPZih0KTwwOmU9Pi0xPT09ZS5pbmRleE9mKCJfX3N2ZWx0ZSIpKSxvPW8ubGVuZ3RoLXIubGVuZ3RoOyFvfHwoZS5zdHlsZS5hbmltYXRpb249ci5qb2luKCIsICIpLHdvLT1vKXx8bG8oKCk9Pnt3b3x8KHlvLmZvckVhY2goZT0+e2U9ZS5zdHlsZXNoZWV0Lm93bmVyTm9kZTtlJiZjZShlKX0pLHlvLmNsZWFyKCkpfSl9bGV0IGtvO2Z1bmN0aW9uIElvKGUpe2tvPWV9ZnVuY3Rpb24gU28oKXtpZihrbylyZXR1cm4ga287dGhyb3cgbmV3IEVycm9yKCJGdW5jdGlvbiBjYWxsZWQgb3V0c2lkZSBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24iKX1mdW5jdGlvbiBUbyhlKXtTbygpLiQkLm9uX21vdW50LnB1c2goZSl9ZnVuY3Rpb24gTG8oZSl7U28oKS4kJC5vbl9kZXN0cm95LnB1c2goZSl9ZnVuY3Rpb24gJG8oKXtsZXQgbj1TbygpO3JldHVybihlLG8se2NhbmNlbGFibGU6cj0hMX09e30pPT57dmFyIGk9bi4kJC5jYWxsYmFja3NbZV07aWYoaSl7bGV0IHQ9Ym8oZSxvLHtjYW5jZWxhYmxlOnJ9KTtyZXR1cm4gaS5zbGljZSgpLmZvckVhY2goZT0+e2UuY2FsbChuLHQpfSksIXQuZGVmYXVsdFByZXZlbnRlZH1yZXR1cm4hMH19bGV0IEFvPVtdLEVvPVtdLFJvPVtdLE9vPVtdLERvPVByb21pc2UucmVzb2x2ZSgpLEJvPSExO2Z1bmN0aW9uIFBvKCl7Qm98fChCbz0hMCxEby50aGVuKE1vKSl9ZnVuY3Rpb24gX28oKXtyZXR1cm4gUG8oKSxEb31mdW5jdGlvbiBqbyhlKXtSby5wdXNoKGUpfWxldCBObz1uZXcgU2V0LFZvPTA7ZnVuY3Rpb24gTW8oKXtpZigwPT09Vm8pe3ZhciBlPWtvO2Rve3RyeXtmb3IoO1ZvPEFvLmxlbmd0aDspe3ZhciB0LG89QW9bVm9dLHI9KFZvKyssSW8obyksdD1yPXZvaWQgMCxvLiQkKTtudWxsIT09ci5mcmFnbWVudCYmKHIudXBkYXRlKCkscm8oci5iZWZvcmVfdXBkYXRlKSx0PXIuZGlydHksci5kaXJ0eT1bLTFdLHIuZnJhZ21lbnQmJnIuZnJhZ21lbnQucChyLmN0eCx0KSxyLmFmdGVyX3VwZGF0ZS5mb3JFYWNoKGpvKSl9fWNhdGNoKGUpe3Rocm93IEFvLmxlbmd0aD0wLFZvPTAsZX1mb3IoSW8obnVsbCksQW8ubGVuZ3RoPTAsVm89MDtFby5sZW5ndGg7KUVvLnBvcCgpKCk7Zm9yKGxldCBlPTA7ZTxSby5sZW5ndGg7ZSs9MSl7dmFyIGk9Um9bZV07Tm8uaGFzKGkpfHwoTm8uYWRkKGkpLGkoKSl9fXdoaWxlKFJvLmxlbmd0aD0wLEFvLmxlbmd0aCk7Zm9yKDtPby5sZW5ndGg7KU9vLnBvcCgpKCk7Qm89ITEsTm8uY2xlYXIoKSxJbyhlKX19bGV0IHpvO2Z1bmN0aW9uIEZvKGUsdCxvKXtlLmRpc3BhdGNoRXZlbnQoYm8oKHQ/ImludHJvIjoib3V0cm8iKStvKSl9bGV0IFVvPW5ldyBTZXQsV287ZnVuY3Rpb24gaWUoKXtXbz17cjowLGM6W10scDpXb319ZnVuY3Rpb24gbmUoKXtXby5yfHxybyhXby5jKSxXbz1Xby5wfWZ1bmN0aW9uIGhlKGUsdCl7ZSYmZS5pJiYoVW8uZGVsZXRlKGUpLGUuaSh0KSl9ZnVuY3Rpb24gYmUoZSx0LG8scil7ZSYmZS5vP1VvLmhhcyhlKXx8KFVvLmFkZChlKSxXby5jLnB1c2goKCk9PntVby5kZWxldGUoZSksciYmKG8mJmUuZCgxKSxyKCkpfSksZS5vKHQpKTpyJiZyKCl9bGV0IEhvPXtkdXJhdGlvbjowfTtmdW5jdGlvbiBHbyhsLGUsdCxvKXtsZXQgcj17ZGlyZWN0aW9uOiJib3RoIn0sYz1lKGwsdCxyKSxkPW8/MDoxLHA9bnVsbCx1PW51bGwsZz1udWxsO2Z1bmN0aW9uIG0oKXtnJiZ2byhsLGcpfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbz1lLmItZDtyZXR1cm4gdCo9TWF0aC5hYnMobykse2E6ZCxiOmUuYixkOm8sZHVyYXRpb246dCxzdGFydDplLnN0YXJ0LGVuZDplLnN0YXJ0K3QsZ3JvdXA6ZS5ncm91cH19ZnVuY3Rpb24gaShlKXtsZXR7ZGVsYXk6dD0wLGR1cmF0aW9uOm89MzAwLGVhc2luZzpyPWVvLHRpY2s6aT1oLGNzczpufT1jfHxIbzt2YXIgYT17c3RhcnQ6c28oKSt0LGI6ZX07aWYoZXx8KChhLmdyb3VwPVdvKS5yKz0xKSxwfHx1KXU9YTtlbHNle24mJihtKCksZz1DbyhsLGQsZSxvLHQscixuKSksZSYmaSgwLDEpLHA9ZihhLG8pLGpvKCgpPT5GbyhsLGUsInN0YXJ0IikpO3t2YXIgcz1lPT4odSYmZT51LnN0YXJ0JiYocD1mKHUsbyksdT1udWxsLEZvKGwscC5iLCJzdGFydCIpLG4pJiYobSgpLGc9Q28obCxkLHAuYixwLmR1cmF0aW9uLDAscixjLmNzcykpLHAmJihlPj1wLmVuZD8oaShkPXAuYiwxLWQpLEZvKGwscC5iLCJlbmQiKSx1fHwocC5iP20oKTotLXAuZ3JvdXAucnx8cm8ocC5ncm91cC5jKSkscD1udWxsKTplPj1wLnN0YXJ0JiYoZT1lLXAuc3RhcnQsZD1wLmErcC5kKnIoZS9wLmR1cmF0aW9uKSxpKGQsMS1kKSkpLCEoIXAmJiF1KSk7bGV0IHQ7MD09PWNvLnNpemUmJmxvKHBvKSxuZXcgUHJvbWlzZShlPT57Y28uYWRkKHQ9e2M6cyxmOmV9KX0pfX19cmV0dXJue3J1bihlKXtpbyhjKT8oem98fCh6bz1Qcm9taXNlLnJlc29sdmUoKSkudGhlbigoKT0+e3pvPW51bGx9KSx6by50aGVuKCgpPT57Yz1jKHIpLGkoZSl9KSk6aShlKX0sZW5kKCl7bSgpLHA9dT1udWxsfX19ZnVuY3Rpb24geGUoZSl7ZSYmZS5jKCl9ZnVuY3Rpb24geWUodCxlLG8scil7dmFye2ZyYWdtZW50OmksYWZ0ZXJfdXBkYXRlOm59PXQuJCQ7aSYmaS5tKGUsbykscnx8am8oKCk9Pnt2YXIgZT10LiQkLm9uX21vdW50Lm1hcCh0bykuZmlsdGVyKGlvKTt0LiQkLm9uX2Rlc3Ryb3k/dC4kJC5vbl9kZXN0cm95LnB1c2goLi4uZSk6cm8oZSksdC4kJC5vbl9tb3VudD1bXX0pLG4uZm9yRWFjaChqbyl9ZnVuY3Rpb24gd2UoZSx0KXtlPWUuJCQ7aWYobnVsbCE9PWUuZnJhZ21lbnQpe3t2YXIgcj1lLmFmdGVyX3VwZGF0ZTtsZXQgdD1bXSxvPVtdO1JvLmZvckVhY2goZT0+KC0xPT09ci5pbmRleE9mKGUpP3Q6bykucHVzaChlKSksby5mb3JFYWNoKGU9PmUoKSksUm89dH1ybyhlLm9uX2Rlc3Ryb3kpLGUuZnJhZ21lbnQmJmUuZnJhZ21lbnQuZCh0KSxlLm9uX2Rlc3Ryb3k9ZS5mcmFnbWVudD1udWxsLGUuY3R4PVtdfX1mdW5jdGlvbiBuKHIsZSx0LG8saSxuLGEscz1bLTFdKXt2YXIgbD1rbztJbyhyKTtsZXQgYz1yLiQkPXtmcmFnbWVudDpudWxsLGN0eDpbXSxwcm9wczpuLHVwZGF0ZTpoLG5vdF9lcXVhbDppLGJvdW5kOm9vKCksb25fbW91bnQ6W10sb25fZGVzdHJveTpbXSxvbl9kaXNjb25uZWN0OltdLGJlZm9yZV91cGRhdGU6W10sYWZ0ZXJfdXBkYXRlOltdLGNvbnRleHQ6bmV3IE1hcChlLmNvbnRleHR8fChsP2wuJCQuY29udGV4dDpbXSkpLGNhbGxiYWNrczpvbygpLGRpcnR5OnMsc2tpcF9ib3VuZDohMSxyb290OmUudGFyZ2V0fHxsLiQkLnJvb3R9LGQ9KGEmJmEoYy5yb290KSwhMSk7Yy5jdHg9dD90KHIsZS5wcm9wc3x8e30sKGUsdCwuLi5vKT0+e3ZhciBvPW8ubGVuZ3RoP29bMF06dDtyZXR1cm4gYy5jdHgmJmkoYy5jdHhbZV0sYy5jdHhbZV09bykmJighYy5za2lwX2JvdW5kJiZjLmJvdW5kW2VdJiZjLmJvdW5kW2VdKG8pLGQpJiYobz1lLC0xPT09KGU9cikuJCQuZGlydHlbMF0mJihBby5wdXNoKGUpLFBvKCksZS4kJC5kaXJ0eS5maWxsKDApKSxlLiQkLmRpcnR5W28vMzF8MF18PTE8PG8lMzEpLHR9KTpbXSxjLnVwZGF0ZSgpLGQ9ITAscm8oYy5iZWZvcmVfdXBkYXRlKSxjLmZyYWdtZW50PSEhbyYmbyhjLmN0eCksZS50YXJnZXQmJihlLmh5ZHJhdGU/KG49ZS50YXJnZXQscz1BcnJheS5mcm9tKG4uY2hpbGROb2RlcyksYy5mcmFnbWVudCYmYy5mcmFnbWVudC5sKHMpLHMuZm9yRWFjaChjZSkpOmMuZnJhZ21lbnQmJmMuZnJhZ21lbnQuYygpLGUuaW50cm8mJmhlKHIuJCQuZnJhZ21lbnQpLHllKHIsZS50YXJnZXQsZS5hbmNob3IsZS5jdXN0b21FbGVtZW50KSxNbygpKSxJbyhsKX1jbGFzcyBheyRkZXN0cm95KCl7d2UodGhpcywxKSx0aGlzLiRkZXN0cm95PWh9JG9uKGUsdCl7aWYoIWlvKHQpKXJldHVybiBoO2xldCBvPXRoaXMuJCQuY2FsbGJhY2tzW2VdfHwodGhpcy4kJC5jYWxsYmFja3NbZV09W10pO3JldHVybiBvLnB1c2godCksKCk9Pnt2YXIgZT1vLmluZGV4T2YodCk7LTEhPT1lJiZvLnNwbGljZShlLDEpfX0kc2V0KGUpe3RoaXMuJCRzZXQmJjAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLiQkLnNraXBfYm91bmQ9ITAsdGhpcy4kJHNldChlKSx0aGlzLiQkLnNraXBfYm91bmQ9ITEpfX1mdW5jdGlvbiBxbyhlKXtsZXQgbyxyLGksbixhLHMsbCxjLGQscDtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksaT1iKCJwYXRoIiksbj1iKCJwYXRoIiksYT1iKCJwYXRoIikscz1iKCJkZWZzIiksbD1iKCJmaWx0ZXIiKSxjPWIoImZlRmxvb2QiKSxkPWIoImZlQmxlbmQiKSxwPWIoImZlR2F1c3NpYW5CbHVyIiksbWUoaSwiZCIsIk0xNjYuMDgzIDI5NC4xNjZDMjM2LjgyMSAyOTQuMTY2IDI5NC4xNjYgMjM2LjgyMSAyOTQuMTY2IDE2Ni4wODNDMjk0LjE2NiA5NS4zNDQ3IDIzNi44MjEgMzggMTY2LjA4MyAzOEM5NS4zNDQ3IDM4IDM4IDk1LjM0NDcgMzggMTY2LjA4M0MzOCAyMzYuODIxIDk1LjM0NDcgMjk0LjE2NiAxNjYuMDgzIDI5NC4xNjZaIiksbWUoaSwic3Ryb2tlIiwiYmxhY2siKSxtZShpLCJzdHJva2Utb3BhY2l0eSIsIjAuNSIpLG1lKGksInN0cm9rZS13aWR0aCIsIjE2LjU3NiIpLG1lKHIsImZpbHRlciIsInVybCgjZmlsdGVyMF9mXzE3XzExKSIpLG1lKG4sImQiLCJNMTY2LjI2NSAzNEM5NS45NzU3IDM0IDM5IDkzLjI5OTUgMzkgMTY2LjQ3NkMzOSAyMzkuNjUyIDk1Ljk3NTcgMjk4Ljk1MiAxNjYuMjY1IDI5OC45NTJDMjM2LjU1NSAyOTguOTUyIDI5My41MyAyMzkuNjUyIDI5My41MyAxNjYuNDc2QzI5My41MyA5My4yOTk1IDIzNi41NTUgMzQgMTY2LjI2NSAzNFpNMjQyLjIzMiAxNjUuOTg4TDE3Ni40NTggMjMxLjc2MkMxNjkuODgzIDIzOC4yMDQgMTYxLjA0NSAyNDEuODEzIDE1MS44NDEgMjQxLjgxM0MxNDIuNjM2IDI0MS44MTMgMTMzLjc5OCAyMzguMjA0IDEyNy4yMjQgMjMxLjc2Mkw5MC4yODk1IDE5NC44NEM4My44NDA4IDE4OC4zODMgODAuMjE5OCAxNzkuNjMgODAuMjIyNiAxNzAuNTA1QzgwLjIyNTUgMTYxLjM3OSA4My44NTE4IDE1Mi42MjggOTAuMzA0NiAxNDYuMTc1Qzk2Ljc1NzQgMTM5LjcyMyAxMDUuNTA4IDEzNi4wOTYgMTE0LjYzNCAxMzYuMDkzQzEyMy43NTkgMTM2LjA5MSAxMzIuNTEzIDEzOS43MTIgMTM4Ljk2OSAxNDYuMTZMMTUxLjg0NyAxNTkuMDIzTDE5My41NTggMTE3LjMxMUMxOTYuNzU0IDExNC4xMTMgMjAwLjU0OSAxMTEuNTc1IDIwNC43MjUgMTA5Ljg0M0MyMDguOTAyIDEwOC4xMTIgMjEzLjM3OSAxMDcuMjIgMjE3LjkwMSAxMDcuMjE5QzIyMi40MjMgMTA3LjIxOCAyMjYuOSAxMDguMTA4IDIzMS4wNzggMTA5LjgzOEMyMzUuMjU1IDExMS41NjcgMjM5LjA1MSAxMTQuMTAzIDI0Mi4yNDggMTE3LjMwMUMyNDUuNDQ2IDEyMC40OTggMjQ3Ljk4MiAxMjQuMjk0IDI0OS43MTIgMTI4LjQ3MUMyNTEuNDQxIDEzMi42NDkgMjUyLjMzMSAxMzcuMTI3IDI1Mi4zMyAxNDEuNjQ4QzI1Mi4zMjkgMTQ2LjE3IDI1MS40MzggMTUwLjY0NyAyNDkuNzA2IDE1NC44MjRDMjQ3Ljk3NCAxNTkuMDAxIDI0NS40MzcgMTYyLjc5NSAyNDIuMjM4IDE2NS45OTFMMjQyLjIzMiAxNjUuOTg4WiIpLHgobiwiZmlsbCIsZVsxXSkseChuLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoYSwiZCIsIk0yMzUuMjYzIDEyMy40MjVDMjMyLjg4MiAxMjEuMDQxIDIzMC4wNTQgMTE5LjE1IDIyNi45NDEgMTE3Ljg2QzIyMy44MjkgMTE2LjU3IDIyMC40OTIgMTE1LjkwNiAyMTcuMTIzIDExNS45MDZDMjEzLjc1MyAxMTUuOTA2IDIxMC40MTcgMTE2LjU3IDIwNy4zMDQgMTE3Ljg2QzIwNC4xOTIgMTE5LjE1IDIwMS4zNjQgMTIxLjA0MSAxOTguOTgyIDEyMy40MjVMMTU3LjYwMiAxNjQuODAyTDEzMi43NDEgMTg5LjY2NkMxMzAuMzU4IDE5Mi4wNDcgMTI4LjQ2NyAxOTQuODc1IDEyNy4xNzcgMTk3Ljk4OEMxMjUuODg3IDIwMS4xMDEgMTI1LjIyMyAyMDQuNDM3IDEyNS4yMjMgMjA3LjgwNkMxMjUuMjIzIDIxMS4xNzYgMTI1Ljg4NyAyMTQuNTEyIDEyNy4xNzcgMjE3LjYyNUMxMjguNDY3IDIyMC43MzggMTMwLjM1OCAyMjMuNTY1IDEzMi43NDEgMjI1Ljk0N0wxMzMuNTk0IDIyNi43OTlDMTM1Ljk3NSAyMjkuMTgzIDEzOC44MDMgMjMxLjA3NCAxNDEuOTE2IDIzMi4zNjRDMTQ1LjAyOCAyMzMuNjU0IDE0OC4zNjUgMjM0LjMxOCAxNTEuNzM0IDIzNC4zMThDMTU1LjEwNCAyMzQuMzE4IDE1OC40NCAyMzMuNjU0IDE2MS41NTMgMjMyLjM2NEMxNjQuNjY1IDIzMS4wNzQgMTY3LjQ5MyAyMjkuMTgzIDE2OS44NzUgMjI2Ljc5OUwxODUuNjI3IDIxMS4wNDdMMjM2LjExMyAxNjAuNTYxQzIzOC40OTYgMTU4LjE4IDI0MC4zODcgMTU1LjM1MiAyNDEuNjc3IDE1Mi4yMzlDMjQyLjk2NyAxNDkuMTI2IDI0My42MzEgMTQ1Ljc5IDI0My42MzEgMTQyLjQyMUMyNDMuNjMxIDEzOS4wNTEgMjQyLjk2NyAxMzUuNzE1IDI0MS42NzcgMTMyLjYwMkMyNDAuMzg3IDEyOS40OSAyMzguNDk2IDEyNi42NjIgMjM2LjExMyAxMjQuMjhMMjM1LjI2MyAxMjMuNDI1Wk0xNTEuODQxIDIyNy45ODJDMTQ3LjgzIDIyNy45ODMgMTQzLjkxIDIyNi43OTUgMTQwLjU3NSAyMjQuNTY4QzEzNy4yNCAyMjIuMzQxIDEzNC42NCAyMTkuMTc1IDEzMy4xMDQgMjE1LjQ3QzEzMS41NjggMjExLjc2NiAxMzEuMTY2IDIwNy42ODkgMTMxLjk0NyAyMDMuNzU2QzEzMi43MjggMTk5LjgyMiAxMzQuNjU4IDE5Ni4yMDkgMTM3LjQ5MyAxOTMuMzcyQzE0MC4zMjggMTkwLjUzNiAxNDMuOTQgMTg4LjYwNCAxNDcuODczIDE4Ny44MkMxNTEuODA2IDE4Ny4wMzcgMTU1Ljg4MyAxODcuNDM3IDE1OS41ODkgMTg4Ljk3QzE2My4yOTQgMTkwLjUwNCAxNjYuNDYyIDE5My4xMDIgMTY4LjY5IDE5Ni40MzZDMTcwLjkxOSAxOTkuNzY5IDE3Mi4xMSAyMDMuNjg5IDE3Mi4xMTEgMjA3LjY5OUMxNzIuMTEgMjEzLjA3NiAxNjkuOTc1IDIxOC4yMzMgMTY2LjE3NCAyMjIuMDM2QzE2Mi4zNzMgMjI1LjgzOSAxNTcuMjE4IDIyNy45NzggMTUxLjg0MSAyMjcuOTgyWiIpLHgoYSwiZmlsbCIsZVsxXSkseChhLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUoYywiZmxvb2Qtb3BhY2l0eSIsIjAiKSxtZShjLCJyZXN1bHQiLCJCYWNrZ3JvdW5kSW1hZ2VGaXgiKSxtZShkLCJtb2RlIiwibm9ybWFsIiksbWUoZCwiaW4iLCJTb3VyY2VHcmFwaGljIiksbWUoZCwiaW4yIiwiQmFja2dyb3VuZEltYWdlRml4IiksbWUoZCwicmVzdWx0Iiwic2hhcGUiKSxtZShwLCJzdGREZXZpYXRpb24iLCIxNC44MDAzIiksbWUocCwicmVzdWx0IiwiZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8xN18xMSIpLG1lKGwsImlkIiwiZmlsdGVyMF9mXzE3XzExIiksbWUobCwieCIsIjAuMTExMzEzIiksbWUobCwieSIsIjAuMTExNDM1IiksbWUobCwid2lkdGgiLCIzMzEuOTQzIiksbWUobCwiaGVpZ2h0IiwiMzMxLjk0MyIpLG1lKGwsImZpbHRlclVuaXRzIiwidXNlclNwYWNlT25Vc2UiKSxtZShsLCJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMiLCJzUkdCIikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pLG1lKG8sInZpZXdCb3giLCIwIDAgMzMzIDMzMyIpLG1lKG8sImZpbGwiLCJub25lIil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpLHNlKG8sbiksc2UobyxhKSxzZShvLHMpLHNlKHMsbCksc2UobCxjKSxzZShsLGQpLHNlKGwscCl9LHAoZSxbdF0pezImdCYmeChuLCJmaWxsIixlWzFdKSwyJnQmJngoYSwiZmlsbCIsZVsxXSksMSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gS28oZSx0LG8pe2xldHt3aWR0aDpyPSJhdXRvIn09dCx7ZmlsbDppPSIjZmZmIn09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpLCJmaWxsImluIGUmJm8oMSxpPWUuZmlsbCl9LFtyLGldfWNsYXNzIFFvIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEtvLHFvLHIse3dpZHRoOjAsZmlsbDoxfSl9fWZ1bmN0aW9uIEpvKGUpe2xldCBvLHIsaSxuLGEscyxsLGMsZCxwO3JldHVybntjKCl7bz1iKCJzdmciKSxyPWIoImciKSxpPWIoInBhdGgiKSxuPWIoInBhdGgiKSxhPWIoInBhdGgiKSxzPWIoImRlZnMiKSxsPWIoImZpbHRlciIpLGM9YigiZmVGbG9vZCIpLGQ9YigiZmVCbGVuZCIpLHA9YigiZmVHYXVzc2lhbkJsdXIiKSxtZShpLCJkIiwiTTE2Ni4wODMgMjk0LjE2NkMyMzYuODIxIDI5NC4xNjYgMjk0LjE2NiAyMzYuODIxIDI5NC4xNjYgMTY2LjA4M0MyOTQuMTY2IDk1LjM0NDcgMjM2LjgyMSAzOCAxNjYuMDgzIDM4Qzk1LjM0NDcgMzggMzggOTUuMzQ0NyAzOCAxNjYuMDgzQzM4IDIzNi44MjEgOTUuMzQ0NyAyOTQuMTY2IDE2Ni4wODMgMjk0LjE2NloiKSxtZShpLCJzdHJva2UiLCJibGFjayIpLG1lKGksInN0cm9rZS1vcGFjaXR5IiwiMC41IiksbWUoaSwic3Ryb2tlLXdpZHRoIiwiMTYuNTc2IiksbWUociwiZmlsdGVyIiwidXJsKCNmaWx0ZXIwX2ZfMTdfMTMpIiksbWUobiwiZCIsIk0xMTYuNzI4IDIyNS4zMTRIMjE1LjM5OFYxNTcuNjU0SDExNi43MjhWMjI1LjMxNFpNMTYxLjAyOSAxNjYuOTE3SDE3MS4wOTdDMTc5LjU1NSAxNjYuOTE3IDE4NS45OTggMTczLjc2MyAxODUuOTk4IDE4MS40MTVDMTg1Ljk5OCAxODcuODU5IDE4MS45NzEgMTkzLjA5NSAxNzUuOTMgMTk1LjEwOEMxNzUuOTMgMTk1LjUxMSAxNzUuOTMgMTk1LjUxMSAxNzUuOTMgMTk1LjkxNFYyMTQuODQzSDE1NS43OTNWMTk1LjkxNEMxNTUuNzkzIDE5NS41MTEgMTU1Ljc5MyAxOTUuNTExIDE1NS43OTMgMTk1LjEwOEMxNTAuMTU1IDE5My4wOTUgMTQ1LjcyNSAxODcuODU5IDE0NS43MjUgMTgxLjQxNUMxNDYuMTI3IDE3My4zNjEgMTUyLjk3NCAxNjYuOTE3IDE2MS4wMjkgMTY2LjkxN1oiKSx4KG4sImZpbGwiLGVbMV0pLHgobiwic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGEsImQiLCJNMTY2LjI2NSAzMkM5NS43ODYgMzIgMzkgOTIuNDEwNiAzOSAxNjYuOTE3QzM5IDI0MS40MjMgOTUuNzg2IDMwMS44MzQgMTY2LjI2NSAzMDEuODM0QzIzNi43NDQgMzAxLjgzNCAyOTMuNTMgMjQxLjQyMyAyOTMuNTMgMTY2LjkxN0MyOTMuNTMgOTIuNDEwNiAyMzYuMzQxIDMyIDE2Ni4yNjUgMzJaTTIzNS41MzYgMjI0LjkxMUMyMzUuNTM2IDIzNS4zODIgMjI2LjY3NiAyNDMuODQgMjE1LjM5OSAyNDMuODRIMTE2LjcyOEMxMDUuODU0IDI0My44NCA5Ni41OTE0IDIzNS4zODIgOTYuNTkxNCAyMjQuOTExVjE1Ny4yNTFDOTYuNTkxNCAxNDYuNzggMTA1LjQ1MiAxMzguMzIzIDExNi43MjggMTM4LjMyM0gxMjYuNzk3VjEzMC42NzFDMTI2Ljc5NyAxMTAuNTM0IDE0MS42OTggOTIuNDEwNiAxNjIuNjQgOTAuMzk2OUMxODEuNTY5IDg4Ljc4NiAxOTcuNjc5IDEwMC4wNjMgMjAyLjkxNCAxMTYuMTcyQzIwNC45MjggMTIyLjYxNiAyMDAuMDk1IDEyOS4wNiAxOTMuMjQ4IDEyOS4wNkMxODkuMjIxIDEyOS4wNiAxODUuNTk2IDEyNy4wNDYgMTg0LjM4OCAxMjMuMDE5QzE4MS45NzIgMTE0LjU2MSAxNzIuNzA5IDEwOC41MiAxNjMuMDQzIDEwOS43MjhDMTUyLjk3NSAxMTEuMzM5IDE0Ni4xMjggMTIwLjE5OSAxNDYuMTI4IDEyOS44NjVWMTM4LjMyM0gyMTUuMzk5QzIyNi4yNzMgMTM4LjMyMyAyMzUuNTM2IDE0Ny4xODMgMjM1LjUzNiAxNTguMDU3VjIyNC45MTFaIikseChhLCJmaWxsIixlWzFdKSx4KGEsInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShjLCJmbG9vZC1vcGFjaXR5IiwiMCIpLG1lKGMsInJlc3VsdCIsIkJhY2tncm91bmRJbWFnZUZpeCIpLG1lKGQsIm1vZGUiLCJub3JtYWwiKSxtZShkLCJpbiIsIlNvdXJjZUdyYXBoaWMiKSxtZShkLCJpbjIiLCJCYWNrZ3JvdW5kSW1hZ2VGaXgiKSxtZShkLCJyZXN1bHQiLCJzaGFwZSIpLG1lKHAsInN0ZERldmlhdGlvbiIsIjE0LjgwMDMiKSxtZShwLCJyZXN1bHQiLCJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzE3XzEzIiksbWUobCwiaWQiLCJmaWx0ZXIwX2ZfMTdfMTMiKSxtZShsLCJ4IiwiMC4xMTEzMTMiKSxtZShsLCJ5IiwiMC4xMTE0MzUiKSxtZShsLCJ3aWR0aCIsIjMzMS45NDMiKSxtZShsLCJoZWlnaHQiLCIzMzEuOTQzIiksbWUobCwiZmlsdGVyVW5pdHMiLCJ1c2VyU3BhY2VPblVzZSIpLG1lKGwsImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsInNSR0IiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSksbWUobywidmlld0JveCIsIjAgMCAzMzMgMzMzIiksbWUobywiZmlsbCIsIm5vbmUiKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpLHNlKG8sbiksc2UobyxhKSxzZShvLHMpLHNlKHMsbCksc2UobCxjKSxzZShsLGQpLHNlKGwscCl9LHAoZSxbdF0pezImdCYmeChuLCJmaWxsIixlWzFdKSwyJnQmJngoYSwiZmlsbCIsZVsxXSksMSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gWm8oZSx0LG8pe2xldHt3aWR0aDpyPSJhdXRvIn09dCx7ZmlsbDppPSIjZmZmIn09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpLCJmaWxsImluIGUmJm8oMSxpPWUuZmlsbCl9LFtyLGldfWNsYXNzIFlvIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLFpvLEpvLHIse3dpZHRoOjAsZmlsbDoxfSl9fWZ1bmN0aW9uIFhvKGUpe2xldCBvLHIsaSxuLGEscyxsLGMsZCxwLHUsZyxtLGY7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLGk9YigicGF0aCIpLG49YigicGF0aCIpLGE9YigicGF0aCIpLHM9YigicGF0aCIpLGw9YigicGF0aCIpLGM9YigicGF0aCIpLGQ9YigicGF0aCIpLHA9YigiZGVmcyIpLHU9YigiZmlsdGVyIiksZz1iKCJmZUZsb29kIiksbT1iKCJmZUJsZW5kIiksZj1iKCJmZUdhdXNzaWFuQmx1ciIpLG1lKGksImQiLCJNMTY2LjA4MyAyOTQuMTY2QzIzNi44MjEgMjk0LjE2NiAyOTQuMTY2IDIzNi44MjEgMjk0LjE2NiAxNjYuMDgzQzI5NC4xNjYgOTUuMzQ0NyAyMzYuODIxIDM4IDE2Ni4wODMgMzhDOTUuMzQ0NyAzOCAzOCA5NS4zNDQ3IDM4IDE2Ni4wODNDMzggMjM2LjgyMSA5NS4zNDQ3IDI5NC4xNjYgMTY2LjA4MyAyOTQuMTY2WiIpLG1lKGksInN0cm9rZSIsImJsYWNrIiksbWUoaSwic3Ryb2tlLW9wYWNpdHkiLCIwLjUiKSxtZShpLCJzdHJva2Utd2lkdGgiLCIxNi41NzYiKSxtZShyLCJmaWx0ZXIiLCJ1cmwoI2ZpbHRlcjBfZl8xN18xMikiKSxtZShuLCJkIiwiTTE1MS4zNjQgMTMxLjk1OEMxNTEuMzY0IDEyNi43MjkgMTQ2LjkzNCAxMjIuMzA1IDE0MS42OTkgMTIyLjMwNUMxMzYuODY2IDEyMi4zMDUgMTMyLjQzNiAxMjcuMTMxIDEzMi40MzYgMTMxLjk1OEMxMzIuNDM2IDEzNy4xODcgMTM2Ljg2NiAxNDEuNjExIDE0MS42OTkgMTQxLjYxMUMxNDYuOTM0IDE0MS42MTEgMTUxLjM2NCAxMzcuMTg3IDE1MS4zNjQgMTMxLjk1OFoiKSx4KG4sImZpbGwiLGVbMV0pLHgobiwic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGEsImQiLCJNMTUxLjM2NCAxOTcuOTIzQzE0Ni4xMjggMTk3LjkyMyAxNDIuMTAxIDIwMS41NDMgMTQyLjEwMSAyMDcuMTc0QzE0Mi4xMDEgMjEyLjgwNSAxNDYuMTI4IDIxNi44MjcgMTUxLjM2NCAyMTYuODI3QzE1Ni4xOTYgMjE2LjgyNyAxNjAuNjI3IDIxMi44MDUgMTYwLjYyNyAyMDcuNTc2QzE2MC42MjcgMjAxLjk0NSAxNTYuNTk5IDE5Ny45MjMgMTUxLjM2NCAxOTcuOTIzWiIpLHgoYSwiZmlsbCIsZVsxXSkseChhLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUocywiZCIsIk0xMjMuMTcxIDE2OC4xNThDMTE4LjMzOCAxNjguMTU4IDExMy45MDggMTcyLjU4MyAxMTMuOTA4IDE3Ny40MDlDMTEzLjkwOCAxODMuMDQgMTE3LjUzMyAxODcuMDYzIDEyMy41NzQgMTg3LjA2M0MxMjguNDA3IDE4Ny4wNjMgMTMyLjQzNCAxODMuMDQgMTMyLjgzNyAxNzguMjE0QzEzMi44MzcgMTcyLjU4MyAxMjguODA5IDE2OC4xNTggMTIzLjE3MSAxNjguMTU4WiIpLHgocywiZmlsbCIsZVsxXSkseChzLCJzdHJva2Utd2lkdGgiLCIzLjI1MzM1MDAyIiksbWUobCwiZCIsIk0xNzkuNTU0IDE0Mi40MTZDMTc0LjcyMSAxNDIuNDE2IDE2OS44ODggMTQ2Ljg0IDE3MC4yOTEgMTUyLjA2OUMxNzAuMjkxIDE1Ny4yOTggMTc0LjcyMSAxNjEuNzIyIDE3OS45NTcgMTYxLjMyQzE4NS4xOTIgMTYxLjMyIDE4OS4yMiAxNTYuODk2IDE4OS4yMiAxNTEuNjY3QzE4OC44MTcgMTQ2Ljg0IDE4NC4zODcgMTQyLjQxNiAxNzkuNTU0IDE0Mi40MTZaIikseChsLCJmaWxsIixlWzFdKSx4KGwsInN0cm9rZS13aWR0aCIsIjMuMjUzMzUwMDIiKSxtZShjLCJkIiwiTTIwNy43NDcgMTg1LjQ1NEMyMDIuNTExIDE4NS40NTQgMTk4LjA4MSAxODkuNDc2IDE5OC4wODEgMTk0LjcwNUMxOTguMDgxIDE5OS41MzIgMjAyLjkxNCAyMDQuNzYgMjA3LjM0NCAyMDQuMzU4QzIxMi41OCAyMDQuMzU4IDIxNi42MDcgMTk5LjkzNCAyMTYuNjA3IDE5NC43MDVDMjE3LjAxIDE4OS44NzggMjEyLjk4MiAxODUuNDU0IDIwNy43NDcgMTg1LjQ1NFoiKSx4KGMsImZpbGwiLGVbMV0pLHgoYywic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGQsImQiLCJNMTY2LjI2NSAzMUM5NS43ODYgMzEgMzkgOTEuMzMzNSAzOSAxNjUuNzQ1QzM5IDI0MC4xNTYgOTUuNzg2IDMwMC40ODkgMTY2LjI2NSAzMDAuNDg5QzIzNi43NDQgMzAwLjQ4OSAyOTMuNTMgMjQwLjE1NiAyOTMuNTMgMTY1Ljc0NUMyOTMuNTMgOTEuMzMzNSAyMzYuMzQxIDMxIDE2Ni4yNjUgMzFaTTE2My44NDkgMjQ2LjU5MkMxMTcuNTM0IDI0NS4zODUgODQuNTA5MyAyMDQuNzYgODcuNzMxMiAxNjAuMTE0QzkxLjM1NTkgMTExLjA0MiAxMzIuODM4IDc4LjA2MDEgMTc5LjU1NSA4NS43MDIzQzE3OS4xNTMgOTIuNTQwMSAxODAuMzYxIDk5LjM3NzkgMTg0Ljc5MSAxMDUuMDA5QzE4Ny42MSAxMDguNjI5IDE5MS4yMzUgMTExLjQ0NSAxOTQuODU5IDExNC4yNkMxOTYuNDcgMTE1LjQ2NyAxOTcuNjc4IDExNi4yNzEgMTk3LjY3OCAxMTguNjg1QzE5Ny42NzggMTM1LjU3OCAyMDcuMzQ0IDE0Ny4yNDIgMjIzLjQ1NCAxNTAuNDZDMjI0LjI1OSAxNTAuNDYgMjI1Ljg3IDE1MS4yNjUgMjI2LjI3MyAxNTIuNDcxQzIyOS4wOTIgMTYyLjEyNSAyMzUuNTM2IDE2OC4xNTggMjQ0Ljc5OSAxNzEuMzc2QzI0My4xODggMjA5Ljk4OSAyMTAuMTYzIDI0OC4yIDE2My44NDkgMjQ2LjU5MloiKSx4KGQsImZpbGwiLGVbMV0pLHgoZCwic3Ryb2tlLXdpZHRoIiwiMy4yNTMzNTAwMiIpLG1lKGcsImZsb29kLW9wYWNpdHkiLCIwIiksbWUoZywicmVzdWx0IiwiQmFja2dyb3VuZEltYWdlRml4IiksbWUobSwibW9kZSIsIm5vcm1hbCIpLG1lKG0sImluIiwiU291cmNlR3JhcGhpYyIpLG1lKG0sImluMiIsIkJhY2tncm91bmRJbWFnZUZpeCIpLG1lKG0sInJlc3VsdCIsInNoYXBlIiksbWUoZiwic3RkRGV2aWF0aW9uIiwiMTQuODAwMyIpLG1lKGYsInJlc3VsdCIsImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMTdfMTIiKSxtZSh1LCJpZCIsImZpbHRlcjBfZl8xN18xMiIpLG1lKHUsIngiLCIwLjExMTMxMyIpLG1lKHUsInkiLCIwLjExMTQzNSIpLG1lKHUsIndpZHRoIiwiMzMxLjk0MyIpLG1lKHUsImhlaWdodCIsIjMzMS45NDMiKSxtZSh1LCJmaWx0ZXJVbml0cyIsInVzZXJTcGFjZU9uVXNlIiksbWUodSwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIiwic1JHQiIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDMzMyAzMzMiKSxtZShvLCJmaWxsIiwibm9uZSIpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSksc2UobyxuKSxzZShvLGEpLHNlKG8scyksc2UobyxsKSxzZShvLGMpLHNlKG8sZCksc2UobyxwKSxzZShwLHUpLHNlKHUsZyksc2UodSxtKSxzZSh1LGYpfSxwKGUsW3RdKXsyJnQmJngobiwiZmlsbCIsZVsxXSksMiZ0JiZ4KGEsImZpbGwiLGVbMV0pLDImdCYmeChzLCJmaWxsIixlWzFdKSwyJnQmJngobCwiZmlsbCIsZVsxXSksMiZ0JiZ4KGMsImZpbGwiLGVbMV0pLDImdCYmeChkLCJmaWxsIixlWzFdKSwxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBlcihlLHQsbyl7bGV0e3dpZHRoOnI9ImF1dG8ifT10LHtmaWxsOmk9IiNmZmYifT10O3JldHVybiBlLiQkc2V0PWU9Pnsid2lkdGgiaW4gZSYmbygwLHI9ZS53aWR0aCksImZpbGwiaW4gZSYmbygxLGk9ZS5maWxsKX0sW3IsaV19Y2xhc3MgdHIgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsZXIsWG8scix7d2lkdGg6MCxmaWxsOjF9KX19ZnVuY3Rpb24gb3IoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm89NDAwLGVhc2luZzpyPWVvfT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpvLGVhc2luZzpyLGNzczplPT4ib3BhY2l0eTogIitlKml9fWZ1bmN0aW9uIHJyKGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpvPTQwMCxlYXNpbmc6cj1mdW5jdGlvbihlKXtyZXR1cm4oZS09MSkqZSplKzF9LGF4aXM6aT0ieSJ9PXt9KXtlPWdldENvbXB1dGVkU3R5bGUoZSk7bGV0IG49K2Uub3BhY2l0eSxhPSJ5Ij09PWk/ImhlaWdodCI6IndpZHRoIixzPXBhcnNlRmxvYXQoZVthXSksbD0ieSI9PT1pP1sidG9wIiwiYm90dG9tIl06WyJsZWZ0IiwicmlnaHQiXTtpPWwubWFwKGU9PiIiK2VbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpKTtsZXQgYz1wYXJzZUZsb2F0KGVbInBhZGRpbmciK2lbMF1dKSxkPXBhcnNlRmxvYXQoZVsicGFkZGluZyIraVsxXV0pLHA9cGFyc2VGbG9hdChlWyJtYXJnaW4iK2lbMF1dKSx1PXBhcnNlRmxvYXQoZVsibWFyZ2luIitpWzFdXSksZz1wYXJzZUZsb2F0KGVbYGJvcmRlciR7aVswXX1XaWR0aGBdKSxtPXBhcnNlRmxvYXQoZVtgYm9yZGVyJHtpWzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm8sZWFzaW5nOnIsY3NzOmU9PiJvdmVyZmxvdzogaGlkZGVuOyIrYG9wYWNpdHk6ICR7TWF0aC5taW4oMjAqZSwxKSpufTtgK2ErYDogJHtlKnN9cHg7YCtgcGFkZGluZy0ke2xbMF19OiAke2UqY31weDtgK2BwYWRkaW5nLSR7bFsxXX06ICR7ZSpkfXB4O2ArYG1hcmdpbi0ke2xbMF19OiAke2UqcH1weDtgK2BtYXJnaW4tJHtsWzFdfTogJHtlKnV9cHg7YCtgYm9yZGVyLSR7bFswXX0td2lkdGg6ICR7ZSpnfXB4O2ArYGJvcmRlci0ke2xbMV19LXdpZHRoOiAke2UqbX1weDtgfX12YXIgaXIsbnI9e2dhcDpvPSJzcGFjZSIsZ3JpZEdhcDpvLGNvbHVtbkdhcDpvLGdyaWRDb2x1bW5HYXA6byxyb3dHYXA6byxncmlkUm93R2FwOm8saW5zZXQ6byxpbnNldEJsb2NrOm8saW5zZXRCbG9ja0VuZDpvLGluc2V0QmxvY2tTdGFydDpvLGluc2V0SW5saW5lOm8saW5zZXRJbmxpbmVFbmQ6byxpbnNldElubGluZVN0YXJ0Om8sbWFyZ2luOm8sbWFyZ2luVG9wOm8sbWFyZ2luUmlnaHQ6byxtYXJnaW5Cb3R0b206byxtYXJnaW5MZWZ0Om8sbWFyZ2luQmxvY2s6byxtYXJnaW5CbG9ja0VuZDpvLG1hcmdpbkJsb2NrU3RhcnQ6byxtYXJnaW5JbmxpbmU6byxtYXJnaW5JbmxpbmVFbmQ6byxtYXJnaW5JbmxpbmVTdGFydDpvLHBhZGRpbmc6byxwYWRkaW5nVG9wOm8scGFkZGluZ1JpZ2h0Om8scGFkZGluZ0JvdHRvbTpvLHBhZGRpbmdMZWZ0Om8scGFkZGluZ0Jsb2NrOm8scGFkZGluZ0Jsb2NrRW5kOm8scGFkZGluZ0Jsb2NrU3RhcnQ6byxwYWRkaW5nSW5saW5lOm8scGFkZGluZ0lubGluZUVuZDpvLHBhZGRpbmdJbmxpbmVTdGFydDpvLHRvcDpvLHJpZ2h0Om8sYm90dG9tOm8sbGVmdDpvLHNjcm9sbE1hcmdpbjpvLHNjcm9sbE1hcmdpblRvcDpvLHNjcm9sbE1hcmdpblJpZ2h0Om8sc2Nyb2xsTWFyZ2luQm90dG9tOm8sc2Nyb2xsTWFyZ2luTGVmdDpvLHNjcm9sbE1hcmdpblg6byxzY3JvbGxNYXJnaW5ZOm8sc2Nyb2xsTWFyZ2luQmxvY2s6byxzY3JvbGxNYXJnaW5CbG9ja0VuZDpvLHNjcm9sbE1hcmdpbkJsb2NrU3RhcnQ6byxzY3JvbGxNYXJnaW5JbmxpbmU6byxzY3JvbGxNYXJnaW5JbmxpbmVFbmQ6byxzY3JvbGxNYXJnaW5JbmxpbmVTdGFydDpvLHNjcm9sbFBhZGRpbmc6byxzY3JvbGxQYWRkaW5nVG9wOm8sc2Nyb2xsUGFkZGluZ1JpZ2h0Om8sc2Nyb2xsUGFkZGluZ0JvdHRvbTpvLHNjcm9sbFBhZGRpbmdMZWZ0Om8sc2Nyb2xsUGFkZGluZ1g6byxzY3JvbGxQYWRkaW5nWTpvLHNjcm9sbFBhZGRpbmdCbG9jazpvLHNjcm9sbFBhZGRpbmdCbG9ja0VuZDpvLHNjcm9sbFBhZGRpbmdCbG9ja1N0YXJ0Om8sc2Nyb2xsUGFkZGluZ0lubGluZTpvLHNjcm9sbFBhZGRpbmdJbmxpbmVFbmQ6byxzY3JvbGxQYWRkaW5nSW5saW5lU3RhcnQ6byxmb250U2l6ZToiZm9udFNpemVzIixiYWNrZ3JvdW5kOnQ9ImNvbG9ycyIsYmFja2dyb3VuZENvbG9yOnQsYmFja2dyb3VuZEltYWdlOnQsYm9yZGVySW1hZ2U6dCxib3JkZXI6dCxib3JkZXJCbG9jazp0LGJvcmRlckJsb2NrRW5kOnQsYm9yZGVyQmxvY2tTdGFydDp0LGJvcmRlckJvdHRvbTp0LGJvcmRlckJvdHRvbUNvbG9yOnQsYm9yZGVyQ29sb3I6dCxib3JkZXJJbmxpbmU6dCxib3JkZXJJbmxpbmVFbmQ6dCxib3JkZXJJbmxpbmVTdGFydDp0LGJvcmRlckxlZnQ6dCxib3JkZXJMZWZ0Q29sb3I6dCxib3JkZXJSaWdodDp0LGJvcmRlclJpZ2h0Q29sb3I6dCxib3JkZXJUb3A6dCxib3JkZXJUb3BDb2xvcjp0LGNhcmV0Q29sb3I6dCxjb2xvcjp0LGNvbHVtblJ1bGVDb2xvcjp0LGZpbGw6dCxvdXRsaW5lOnQsb3V0bGluZUNvbG9yOnQsc3Ryb2tlOnQsdGV4dERlY29yYXRpb25Db2xvcjp0LGZvbnRGYW1pbHk6ImZvbnRzIixmb250V2VpZ2h0OiJmb250V2VpZ2h0cyIsbGluZUhlaWdodDoibGluZUhlaWdodHMiLGxldHRlclNwYWNpbmc6ImxldHRlclNwYWNpbmdzIixibG9ja1NpemU6dmU9InNpemVzIixtaW5CbG9ja1NpemU6dmUsbWF4QmxvY2tTaXplOnZlLGlubGluZVNpemU6dmUsbWluSW5saW5lU2l6ZTp2ZSxtYXhJbmxpbmVTaXplOnZlLHdpZHRoOnZlLG1pbldpZHRoOnZlLG1heFdpZHRoOnZlLGhlaWdodDp2ZSxtaW5IZWlnaHQ6dmUsbWF4SGVpZ2h0OnZlLGZsZXhCYXNpczp2ZSxncmlkVGVtcGxhdGVDb2x1bW5zOnZlLGdyaWRUZW1wbGF0ZVJvd3M6dmUsYm9yZGVyV2lkdGg6ImJvcmRlcldpZHRocyIsYm9yZGVyVG9wV2lkdGg6ImJvcmRlcldpZHRocyIsYm9yZGVyUmlnaHRXaWR0aDoiYm9yZGVyV2lkdGhzIixib3JkZXJCb3R0b21XaWR0aDoiYm9yZGVyV2lkdGhzIixib3JkZXJMZWZ0V2lkdGg6ImJvcmRlcldpZHRocyIsYm9yZGVyU3R5bGU6ImJvcmRlclN0eWxlcyIsYm9yZGVyVG9wU3R5bGU6ImJvcmRlclN0eWxlcyIsYm9yZGVyUmlnaHRTdHlsZToiYm9yZGVyU3R5bGVzIixib3JkZXJCb3R0b21TdHlsZToiYm9yZGVyU3R5bGVzIixib3JkZXJMZWZ0U3R5bGU6ImJvcmRlclN0eWxlcyIsYm9yZGVyUmFkaXVzOiJyYWRpaSIsYm9yZGVyVG9wTGVmdFJhZGl1czoicmFkaWkiLGJvcmRlclRvcFJpZ2h0UmFkaXVzOiJyYWRpaSIsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6InJhZGlpIixib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiJyYWRpaSIsYm94U2hhZG93OiJzaGFkb3dzIix0ZXh0U2hhZG93OiJzaGFkb3dzIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9ucyIsekluZGV4OiJ6SW5kaWNlcyJ9LGFyPShlLHQpPT4iZnVuY3Rpb24iPT10eXBlb2YgdD97IigpIjpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX06dCxrZT0oKT0+e2xldCBpPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuKGUsdCwuLi5vKT0+e3ZhciByPUpTT04uc3RyaW5naWZ5KGUsYXIpO3JldHVybiByIGluIGk/aVtyXTppW3JdPXQoZSwuLi5vKX19LHNyPVN5bWJvbC5mb3IoInN4cy5pbnRlcm5hbCIpLGxyPShlLHQpPT5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHQpKSxjcj1lPT57Zm9yKHZhciB0IGluIGUpcmV0dXJuITA7cmV0dXJuITF9LGRyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkscHI9ZT0+ZS5pbmNsdWRlcygiLSIpP2U6ZS5yZXBsYWNlKC9bQS1aXS9nLGU9PiItIitlLnRvTG93ZXJDYXNlKCkpLHVyPS9ccysoPyFbXigpXSpcKSkvLGdyPXthcHBlYXJhbmNlOmU9Pih7V2Via2l0QXBwZWFyYW5jZTplLGFwcGVhcmFuY2U6ZX0pLGJhY2tmYWNlVmlzaWJpbGl0eTplPT4oe1dlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eTplLGJhY2tmYWNlVmlzaWJpbGl0eTplfSksYmFja2Ryb3BGaWx0ZXI6ZT0+KHtXZWJraXRCYWNrZHJvcEZpbHRlcjplLGJhY2tkcm9wRmlsdGVyOmV9KSxiYWNrZ3JvdW5kQ2xpcDplPT4oe1dlYmtpdEJhY2tncm91bmRDbGlwOmUsYmFja2dyb3VuZENsaXA6ZX0pLGJveERlY29yYXRpb25CcmVhazplPT4oe1dlYmtpdEJveERlY29yYXRpb25CcmVhazplLGJveERlY29yYXRpb25CcmVhazplfSksY2xpcFBhdGg6ZT0+KHtXZWJraXRDbGlwUGF0aDplLGNsaXBQYXRoOmV9KSxjb250ZW50OmU9Pih7Y29udGVudDplLmluY2x1ZGVzKCciJyl8fGUuaW5jbHVkZXMoIiciKXx8L14oW0EtWmEtel0rXChbXl0qfFteXSotcXVvdGV8aW5oZXJpdHxpbml0aWFsfG5vbmV8bm9ybWFsfHJldmVydHx1bnNldCkkLy50ZXN0KGUpP2U6YCIke2V9ImB9KSxoeXBoZW5zOmU9Pih7V2Via2l0SHlwaGVuczplLGh5cGhlbnM6ZX0pLG1hc2tJbWFnZTplPT4oe1dlYmtpdE1hc2tJbWFnZTplLG1hc2tJbWFnZTplfSksbWFza1NpemU6ZT0+KHtXZWJraXRNYXNrU2l6ZTplLG1hc2tTaXplOmV9KSx0YWJTaXplOmU9Pih7TW96VGFiU2l6ZTplLHRhYlNpemU6ZX0pLHRleHRTaXplQWRqdXN0OmU9Pih7V2Via2l0VGV4dFNpemVBZGp1c3Q6ZSx0ZXh0U2l6ZUFkanVzdDplfSksdXNlclNlbGVjdDplPT4oe1dlYmtpdFVzZXJTZWxlY3Q6ZSx1c2VyU2VsZWN0OmV9KSxtYXJnaW5CbG9jazooSWU9dD0+ZT0+dCguLi4ic3RyaW5nIj09dHlwZW9mIGU/U3RyaW5nKGUpLnNwbGl0KHVyKTpbZV0pKSgoZSx0KT0+KHttYXJnaW5CbG9ja1N0YXJ0OmUsbWFyZ2luQmxvY2tFbmQ6dHx8ZX0pKSxtYXJnaW5JbmxpbmU6SWUoKGUsdCk9Pih7bWFyZ2luSW5saW5lU3RhcnQ6ZSxtYXJnaW5JbmxpbmVFbmQ6dHx8ZX0pKSxtYXhTaXplOkllKChlLHQpPT4oe21heEJsb2NrU2l6ZTplLG1heElubGluZVNpemU6dHx8ZX0pKSxtaW5TaXplOkllKChlLHQpPT4oe21pbkJsb2NrU2l6ZTplLG1pbklubGluZVNpemU6dHx8ZX0pKSxwYWRkaW5nQmxvY2s6SWUoKGUsdCk9Pih7cGFkZGluZ0Jsb2NrU3RhcnQ6ZSxwYWRkaW5nQmxvY2tFbmQ6dHx8ZX0pKSxwYWRkaW5nSW5saW5lOkllKChlLHQpPT4oe3BhZGRpbmdJbmxpbmVTdGFydDplLHBhZGRpbmdJbmxpbmVFbmQ6dHx8ZX0pKX0sbXI9LyhbXGQuXSspKFteXSopLyxmcj0oZSxvKT0+ZS5sZW5ndGg/ZS5yZWR1Y2UoKGUsdCk9PihlLnB1c2goLi4uby5tYXAoZT0+ZS5pbmNsdWRlcygiJiIpP2UucmVwbGFjZSgvJi9nLC9bICs+fH5dLy50ZXN0KHQpJiYvJi4qJi8udGVzdChlKT9gOmlzKCR7dH0pYDp0KTp0KyIgIitlKSksZSksW10pOm8saHI9KGksZSk9PmkgaW4gYnImJiJzdHJpbmciPT10eXBlb2YgZT9lLnJlcGxhY2UoL14oKD86W15dKlteXHctXSk/KShmaXQtY29udGVudHxzdHJldGNoKSgoPzpbXlx3LV1bXl0qKT8pJC8sKGUsdCxvLHIpPT50Kygic3RyZXRjaCI9PT1vP2AtbW96LWF2YWlsYWJsZSR7cn07JHtwcihpKX06JHt0fS13ZWJraXQtZmlsbC1hdmFpbGFibGVgOmAtbW96LWZpdC1jb250ZW50JHtyfTske3ByKGkpfToke3R9Zml0LWNvbnRlbnRgKStyKTpTdHJpbmcoZSksYnI9e2Jsb2NrU2l6ZToxLGhlaWdodDoxLGlubGluZVNpemU6MSxtYXhCbG9ja1NpemU6MSxtYXhIZWlnaHQ6MSxtYXhJbmxpbmVTaXplOjEsbWF4V2lkdGg6MSxtaW5CbG9ja1NpemU6MSxtaW5IZWlnaHQ6MSxtaW5JbmxpbmVTaXplOjEsbWluV2lkdGg6MSx3aWR0aDoxfSx4cj1lPT5lP2UrIi0iOiIiLHlyPShlLG4sYSk9PmUucmVwbGFjZSgvKFsrLV0pPygoPzpcZCsoPzpcLlxkKik/fFwuXGQrKSg/OltFZV1bKy1dP1xkKyk/KT8oXCR8LS0pKFskXHctXSspL2csKGUsdCxvLHIsaSk9PiIkIj09cj09ISFvP2U6KHR8fCItLSI9PXI/ImNhbGMoIjoiIikrInZhcigtLSIrKCIkIj09PXI/eHIobikrKGkuaW5jbHVkZXMoIiQiKT8iIjp4cihhKSkraS5yZXBsYWNlKC9cJC9nLCItIik6aSkrIikiKyh0fHwiLS0iPT1yPyIqIisodHx8IiIpKyhvfHwiMSIpKyIpIjoiIikpLHdyPS9ccyosXHMqKD8hW14oKV0qXCkpLyxDcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHZyPShlLHQsbyxjLGQpPT57bGV0IHAsdSxnLG09KGUsaSxuKT0+e2xldCBhLHMsbD1lPT57Zm9yKGEgaW4gZSl7dmFyIG89NjQ9PT1hLmNoYXJDb2RlQXQoMCk7Zm9yKHMgb2YgbyYmQXJyYXkuaXNBcnJheShlW2FdKT9lW2FdOltlW2FdXSl7bGV0IHQ9L1tBLVpdLy50ZXN0KHI9YSk/cjpyLnJlcGxhY2UoLy1bXl0vZyxlPT5lWzFdLnRvVXBwZXJDYXNlKCkpLGU9Im9iamVjdCI9PXR5cGVvZiBzJiZzJiZzLnRvU3RyaW5nPT09Q3ImJighYy51dGlsc1t0XXx8IWkubGVuZ3RoKTtpZih0IGluIGMudXRpbHMmJiFlKXtsZXQgZT1jLnV0aWxzW3RdO2lmKGUhPT11KXt1PWUsbChlKHMpKSx1PW51bGw7Y29udGludWV9fWVsc2UgaWYodCBpbiBncil7bGV0IGU9Z3JbdF07aWYoZSE9PWcpe2c9ZSxsKGUocykpLGc9bnVsbDtjb250aW51ZX19aWYobyYmKHI9YS5zbGljZSgxKWluIGMubWVkaWE/IkBtZWRpYSAiK2MubWVkaWFbYS5zbGljZSgxKV06YSxhPXIucmVwbGFjZSgvXChccyooW1x3LV0rKVxzKig9fDx8PD18Pnw+PSlccyooW1x3LV0rKVxzKig/Oig8fDw9fD58Pj0pXHMqKFtcdy1dKylccyopP1wpL2csKGUsdCxyLG8saSxuKT0+e2xldCBhPW1yLnRlc3QodCkscz0uMDYyNSooYT8tMToxKSxbbCxjXT1hP1tvLHRdOlt0LG9dO3JldHVybiIoIisoIj0iPT09clswXT8iIjoiPiI9PT1yWzBdPT09YT8ibWF4LSI6Im1pbi0iKStsKyI6IisoIj0iIT09clswXSYmMT09PXIubGVuZ3RoP2MucmVwbGFjZShtciwoZSx0LG8pPT5OdW1iZXIodCkrcyooIj4iPT09cj8xOi0xKStvKTpjKSsoaT8iKSBhbmQgKCIrKCI+Ij09PWlbMF0/Im1pbi0iOiJtYXgtIikrbCsiOiIrKDE9PT1pLmxlbmd0aD9uLnJlcGxhY2UobXIsKGUsdCxvKT0+TnVtYmVyKHQpK3MqKCI+Ij09PWk/LTE6MSkrbyk6bik6IiIpKyIpIn0pKSxlKXtsZXQgZT1vP24uY29uY2F0KGEpOlsuLi5uXSx0PW8/Wy4uLmldOmZyKGksYS5zcGxpdCh3cikpO3ZvaWQgMCE9PXAmJmQoa3IoLi4ucCkpLHA9dm9pZCAwLG0ocyx0LGUpfWVsc2Ugdm9pZCAwPT09cCYmKHA9W1tdLGksbl0pLGE9b3x8MzYhPT1hLmNoYXJDb2RlQXQoMCk/YToiLS0iK3hyKGMucHJlZml4KSthLnNsaWNlKDEpLnJlcGxhY2UoL1wkL2csIi0iKSxzPWU/czoibnVtYmVyIj09dHlwZW9mIHM/cyYmdCBpbiBJcj9TdHJpbmcocykrInB4IjpTdHJpbmcocyk6eXIoaHIodCxudWxsPT1zPyIiOnMpLGMucHJlZml4LGMudGhlbWVNYXBbdF0pLHBbMF0ucHVzaCgobz9hKyIgIjpwcihhKSsiOiIpK3MpfX12YXIgcn07bChlKSx2b2lkIDAhPT1wJiZkKGtyKC4uLnApKSxwPXZvaWQgMH07bShlLHQsbyl9LGtyPShlLHQsbyk9PiIiK28ubWFwKGU9PmUrInsiKS5qb2luKCIiKSsodC5sZW5ndGg/dC5qb2luKCIsIikrInsiOiIiKStlLmpvaW4oIjsiKSsodC5sZW5ndGg/In0iOiIiKStBcnJheShvLmxlbmd0aD9vLmxlbmd0aCsxOjApLmpvaW4oIn0iKSxJcj17YW5pbWF0aW9uRGVsYXk6MSxhbmltYXRpb25EdXJhdGlvbjoxLGJhY2tncm91bmRTaXplOjEsYmxvY2tTaXplOjEsYm9yZGVyOjEsYm9yZGVyQmxvY2s6MSxib3JkZXJCbG9ja0VuZDoxLGJvcmRlckJsb2NrRW5kV2lkdGg6MSxib3JkZXJCbG9ja1N0YXJ0OjEsYm9yZGVyQmxvY2tTdGFydFdpZHRoOjEsYm9yZGVyQmxvY2tXaWR0aDoxLGJvcmRlckJvdHRvbToxLGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6MSxib3JkZXJCb3R0b21SaWdodFJhZGl1czoxLGJvcmRlckJvdHRvbVdpZHRoOjEsYm9yZGVyRW5kRW5kUmFkaXVzOjEsYm9yZGVyRW5kU3RhcnRSYWRpdXM6MSxib3JkZXJJbmxpbmVFbmQ6MSxib3JkZXJJbmxpbmVFbmRXaWR0aDoxLGJvcmRlcklubGluZVN0YXJ0OjEsYm9yZGVySW5saW5lU3RhcnRXaWR0aDoxLGJvcmRlcklubGluZVdpZHRoOjEsYm9yZGVyTGVmdDoxLGJvcmRlckxlZnRXaWR0aDoxLGJvcmRlclJhZGl1czoxLGJvcmRlclJpZ2h0OjEsYm9yZGVyUmlnaHRXaWR0aDoxLGJvcmRlclNwYWNpbmc6MSxib3JkZXJTdGFydEVuZFJhZGl1czoxLGJvcmRlclN0YXJ0U3RhcnRSYWRpdXM6MSxib3JkZXJUb3A6MSxib3JkZXJUb3BMZWZ0UmFkaXVzOjEsYm9yZGVyVG9wUmlnaHRSYWRpdXM6MSxib3JkZXJUb3BXaWR0aDoxLGJvcmRlcldpZHRoOjEsYm90dG9tOjEsY29sdW1uR2FwOjEsY29sdW1uUnVsZToxLGNvbHVtblJ1bGVXaWR0aDoxLGNvbHVtbldpZHRoOjEsY29udGFpbkludHJpbnNpY1NpemU6MSxmbGV4QmFzaXM6MSxmb250U2l6ZToxLGdhcDoxLGdyaWRBdXRvQ29sdW1uczoxLGdyaWRBdXRvUm93czoxLGdyaWRUZW1wbGF0ZUNvbHVtbnM6MSxncmlkVGVtcGxhdGVSb3dzOjEsaGVpZ2h0OjEsaW5saW5lU2l6ZToxLGluc2V0OjEsaW5zZXRCbG9jazoxLGluc2V0QmxvY2tFbmQ6MSxpbnNldEJsb2NrU3RhcnQ6MSxpbnNldElubGluZToxLGluc2V0SW5saW5lRW5kOjEsaW5zZXRJbmxpbmVTdGFydDoxLGxlZnQ6MSxsZXR0ZXJTcGFjaW5nOjEsbWFyZ2luOjEsbWFyZ2luQmxvY2s6MSxtYXJnaW5CbG9ja0VuZDoxLG1hcmdpbkJsb2NrU3RhcnQ6MSxtYXJnaW5Cb3R0b206MSxtYXJnaW5JbmxpbmU6MSxtYXJnaW5JbmxpbmVFbmQ6MSxtYXJnaW5JbmxpbmVTdGFydDoxLG1hcmdpbkxlZnQ6MSxtYXJnaW5SaWdodDoxLG1hcmdpblRvcDoxLG1heEJsb2NrU2l6ZToxLG1heEhlaWdodDoxLG1heElubGluZVNpemU6MSxtYXhXaWR0aDoxLG1pbkJsb2NrU2l6ZToxLG1pbkhlaWdodDoxLG1pbklubGluZVNpemU6MSxtaW5XaWR0aDoxLG9mZnNldERpc3RhbmNlOjEsb2Zmc2V0Um90YXRlOjEsb3V0bGluZToxLG91dGxpbmVPZmZzZXQ6MSxvdXRsaW5lV2lkdGg6MSxvdmVyZmxvd0NsaXBNYXJnaW46MSxwYWRkaW5nOjEscGFkZGluZ0Jsb2NrOjEscGFkZGluZ0Jsb2NrRW5kOjEscGFkZGluZ0Jsb2NrU3RhcnQ6MSxwYWRkaW5nQm90dG9tOjEscGFkZGluZ0lubGluZToxLHBhZGRpbmdJbmxpbmVFbmQ6MSxwYWRkaW5nSW5saW5lU3RhcnQ6MSxwYWRkaW5nTGVmdDoxLHBhZGRpbmdSaWdodDoxLHBhZGRpbmdUb3A6MSxwZXJzcGVjdGl2ZToxLHJpZ2h0OjEscm93R2FwOjEsc2Nyb2xsTWFyZ2luOjEsc2Nyb2xsTWFyZ2luQmxvY2s6MSxzY3JvbGxNYXJnaW5CbG9ja0VuZDoxLHNjcm9sbE1hcmdpbkJsb2NrU3RhcnQ6MSxzY3JvbGxNYXJnaW5Cb3R0b206MSxzY3JvbGxNYXJnaW5JbmxpbmU6MSxzY3JvbGxNYXJnaW5JbmxpbmVFbmQ6MSxzY3JvbGxNYXJnaW5JbmxpbmVTdGFydDoxLHNjcm9sbE1hcmdpbkxlZnQ6MSxzY3JvbGxNYXJnaW5SaWdodDoxLHNjcm9sbE1hcmdpblRvcDoxLHNjcm9sbFBhZGRpbmc6MSxzY3JvbGxQYWRkaW5nQmxvY2s6MSxzY3JvbGxQYWRkaW5nQmxvY2tFbmQ6MSxzY3JvbGxQYWRkaW5nQmxvY2tTdGFydDoxLHNjcm9sbFBhZGRpbmdCb3R0b206MSxzY3JvbGxQYWRkaW5nSW5saW5lOjEsc2Nyb2xsUGFkZGluZ0lubGluZUVuZDoxLHNjcm9sbFBhZGRpbmdJbmxpbmVTdGFydDoxLHNjcm9sbFBhZGRpbmdMZWZ0OjEsc2Nyb2xsUGFkZGluZ1JpZ2h0OjEsc2Nyb2xsUGFkZGluZ1RvcDoxLHNoYXBlTWFyZ2luOjEsdGV4dERlY29yYXRpb246MSx0ZXh0RGVjb3JhdGlvblRoaWNrbmVzczoxLHRleHRJbmRlbnQ6MSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OjEsdG9wOjEsdHJhbnNpdGlvbkRlbGF5OjEsdHJhbnNpdGlvbkR1cmF0aW9uOjEsdmVydGljYWxBbGlnbjoxLHdpZHRoOjEsd29yZFNwYWNpbmc6MX0sU3I9ZT0+U3RyaW5nLmZyb21DaGFyQ29kZShlKygyNTxlPzM5Ojk3KSksVHI9bz0+e3tvPSgoZSx0KT0+e2xldCBvPXQubGVuZ3RoO2Zvcig7bzspZT0zMyplXnQuY2hhckNvZGVBdCgtLW8pO3JldHVybiBlfSkoNTM4MSxKU09OLnN0cmluZ2lmeShvKSk+Pj4wO2xldCBlLHQ9IiI7Zm9yKGU9TWF0aC5hYnMobyk7NTI8ZTtlPWUvNTJ8MCl0PVNyKGUlNTIpK3Q7cmV0dXJuIFNyKGUlNTIpK3R9fSxMcj1bInRoZW1lZCIsImdsb2JhbCIsInN0eWxlZCIsIm9uZXZhciIsInJlc29uZXZhciIsImFsbHZhciIsImlubGluZSJdLCRyPWU9PntpZihlLmhyZWYmJiFlLmhyZWYuc3RhcnRzV2l0aChsb2NhdGlvbi5vcmlnaW4pKXJldHVybiExO3RyeXtyZXR1cm4hIWUuY3NzUnVsZXN9Y2F0Y2goZSl7cmV0dXJuITF9fSxBcj10PT57bGV0IGQscD0oKT0+e2xldCBpPWQuc2hlZXQuY3NzUnVsZXM7cmV0dXJuW10ubWFwLmNhbGwoaSwodCxlKT0+e3ZhciBvPXQuY3NzVGV4dDtsZXQgcj0iIjtpZihvLnN0YXJ0c1dpdGgoIi0tc3hzIikpcmV0dXJuIiI7aWYoaVtlLTFdJiYocj1pW2UtMV0uY3NzVGV4dCkuc3RhcnRzV2l0aCgiLS1zeHMiKSl7aWYoIXQuY3NzUnVsZXMubGVuZ3RoKXJldHVybiIiO2ZvcihsZXQgZSBpbiBkLnJ1bGVzKWlmKGQucnVsZXNbZV0uZ3JvdXA9PT10KXJldHVybmAtLXN4c3stLXN4czoke1suLi5kLnJ1bGVzW2VdLmNhY2hlXS5qb2luKCIgIil9fWArbztyZXR1cm4gdC5jc3NSdWxlcy5sZW5ndGg/IiIrcitvOiIifXJldHVybiBvfSkuam9pbigiIil9LHU9KCk9PntpZihkKXtsZXR7cnVsZXM6dCxzaGVldDplfT1kO2lmKCFlLmRlbGV0ZVJ1bGUpe2Zvcig7Mz09PU9iamVjdChPYmplY3QoZS5jc3NSdWxlcylbMF0pLnR5cGU7KWUuY3NzUnVsZXMuc3BsaWNlKDAsMSk7ZS5jc3NSdWxlcz1bXX1mb3IobGV0IGUgaW4gdClkZWxldGUgdFtlXX1sZXQgZT1PYmplY3QodCkuc3R5bGVTaGVldHN8fFtdO2ZvcihsZXQgciBvZiBlKWlmKCRyKHIpKXtmb3IobGV0IHQ9MCxvPXIuY3NzUnVsZXM7b1t0XTsrK3Qpe2xldCBlPU9iamVjdChvW3RdKTt2YXIgaSxuLGEsczsxPT09ZS50eXBlJiYoND09PShpPU9iamVjdChvW3QrMV0pKS50eXBlJiYoKyt0LG49ZS5jc3NUZXh0LG4uc3RhcnRzV2l0aCgiLS1zeHMiKSkmJihhPW4uc2xpY2UoMTQsLTMpLnRyaW0oKS5zcGxpdCgvXHMrLykscz1MclthWzBdXSkpJiYoKGQ9ZHx8e3NoZWV0OnIscmVzZXQ6dSxydWxlczp7fSx0b1N0cmluZzpwfSkucnVsZXNbc109e2dyb3VwOmksaW5kZXg6dCxjYWNoZTpuZXcgU2V0KGEpfSl9aWYoZClicmVha31pZighZCl7bGV0IG89KGUsdCk9Pih7dHlwZTp0LGNzc1J1bGVzOltdLGluc2VydFJ1bGUoZSx0KXt0aGlzLmNzc1J1bGVzLnNwbGljZSh0LDAsbyhlLHtpbXBvcnQ6Myx1bmRlZmluZWQ6MX1bKGUudG9Mb3dlckNhc2UoKS5tYXRjaCgvXkAoW2Etel0rKS8pfHxbXSlbMV1dfHw0KSl9LGdldCBjc3NUZXh0KCl7cmV0dXJuIkBtZWRpYXt9Ij09PWU/YEBtZWRpYXske1tdLm1hcC5jYWxsKHRoaXMuY3NzUnVsZXMsZT0+ZS5jc3NUZXh0KS5qb2luKCIiKX19YDplfX0pO2Q9e3NoZWV0OnQ/KHQuaGVhZHx8dCkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSkuc2hlZXQ6bygiIiwidGV4dC9jc3MiKSxydWxlczp7fSxyZXNldDp1LHRvU3RyaW5nOnB9fWxldHtzaGVldDpsLHJ1bGVzOmN9PWQ7Zm9yKGxldCByPUxyLmxlbmd0aC0xOzA8PXI7LS1yKXtsZXQgbz1McltyXTtpZighY1tvXSl7bGV0IGU9THJbcisxXSx0PWNbZV0/Y1tlXS5pbmRleDpsLmNzc1J1bGVzLmxlbmd0aDtsLmluc2VydFJ1bGUoIkBtZWRpYXt9Iix0KSxsLmluc2VydFJ1bGUoYC0tc3hzey0tc3hzOiR7cn19YCx0KSxjW29dPXtncm91cDpsLmNzc1J1bGVzW3QrMV0saW5kZXg6dCxjYWNoZTpuZXcgU2V0KFtyXSl9fUVyKGNbb10pfX07cmV0dXJuIHUoKSxkfSxFcj1lPT57bGV0IHQ9ZS5ncm91cCxvPXQuY3NzUnVsZXMubGVuZ3RoO2UuYXBwbHk9ZT0+e3RyeXt0Lmluc2VydFJ1bGUoZSxvKSwrK299Y2F0Y2goZSl7fX19LFJyPVN5bWJvbCgpLE9yPWtlKCksRHI9KHIsdCk9Pk9yKHIsKCk9PiguLi5lKT0+e3ZhciBvPXt0eXBlOm51bGwsY29tcG9zZXJzOm5ldyBTZXR9O2ZvcihsZXQgdCBvZiBlKWlmKG51bGwhPXQpaWYodFtzcl0pe251bGw9PW8udHlwZSYmKG8udHlwZT10W3NyXS50eXBlKTtmb3IobGV0IGUgb2YgdFtzcl0uY29tcG9zZXJzKW8uY29tcG9zZXJzLmFkZChlKX1lbHNlIHQuY29uc3RydWN0b3IhPT1PYmplY3R8fHQuJCR0eXBlb2Y/bnVsbD09by50eXBlJiYoby50eXBlPXQpOm8uY29tcG9zZXJzLmFkZChCcih0LHIpKTtyZXR1cm4gbnVsbD09by50eXBlJiYoby50eXBlPSJzcGFuIiksby5jb21wb3NlcnMuc2l6ZXx8by5jb21wb3NlcnMuYWRkKFsiUEpMViIse30sW10sW10se30sW11dKSxQcihyLG8sdCl9KSxCcj0oe3ZhcmlhbnRzOmUsY29tcG91bmRWYXJpYW50czp0LGRlZmF1bHRWYXJpYW50czpvLC4uLnJ9LGkpPT57bGV0IG49eHIoaS5wcmVmaXgpKyJjLSIrVHIociksYT1bXSxzPVtdLGw9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2ZvcihsZXQgZSBpbiBvKWxbZV09U3RyaW5nKG9bZV0pO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSlmb3IobGV0IG4gaW4gZSl7ZD1uLGRyLmNhbGwobCxkKXx8KGxbbl09InVuZGVmaW5lZCIpO2xldCBpPWVbbl07Zm9yKGxldCByIGluIGkpe2xldCBlPXtbbl06U3RyaW5nKHIpfSx0PSgidW5kZWZpbmVkIj09PVN0cmluZyhyKSYmYy5wdXNoKG4pLGlbcl0pLG89W2UsdCwhY3IodCldO2EucHVzaChvKX19dmFyIGQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZ0KWZvcihsZXQgciBvZiB0KXtsZXR7Y3NzOmUsLi4udH09cjtlPSJvYmplY3QiPT10eXBlb2YgZSYmZXx8e307Zm9yKGxldCBlIGluIHQpdFtlXT1TdHJpbmcodFtlXSk7bGV0IG89W3QsZSwhY3IoZSldO3MucHVzaChvKX1yZXR1cm5bbixyLGEscyxsLGNdfSxQcj0obCxjLGQpPT57bGV0W2EscCx1LGddPV9yKGMuY29tcG9zZXJzKSxtPSJmdW5jdGlvbiI9PXR5cGVvZiBjLnR5cGV8fGMudHlwZS4kJHR5cGVvZj8oaT1kLHJbUnJdPVtdLHIucnVsZXM9e30sTHIuZm9yRWFjaCh0PT5yLnJ1bGVzW3RdPXthcHBseTplPT5yW1JyXS5wdXNoKFt0LGVdKX0pLHIpOm51bGwsZj0obXx8ZCkucnVsZXMsaD0iLiIrYSsoMTxwLmxlbmd0aD9gOndoZXJlKC4ke3Auc2xpY2UoMSkuam9pbigiLiIpfSlgOiIiKSxlPXQ9PntsZXR7Y3NzOm8sLi4ucn09dD0ib2JqZWN0Ij09dHlwZW9mIHQmJnR8fE5yLG49e307Zm9yKGxldCBlIGluIHUpe3ZhciBpO2RlbGV0ZSByW2VdLGUgaW4gdD8ib2JqZWN0Ij09dHlwZW9mKGk9dFtlXSkmJmk/bltlXT17IkBpbml0aWFsIjp1W2VdLC4uLml9OihpPVN0cmluZyhpKSxuW2VdPSJ1bmRlZmluZWQiIT09aXx8Zy5oYXMoZSk/aTp1W2VdKTpuW2VdPXVbZV19dmFyIHM9bmV3IFNldChbLi4ucF0pO2ZvcihsZXRbYSxlLHIsaV1vZiBjLmNvbXBvc2Vycyl7ZC5ydWxlcy5zdHlsZWQuY2FjaGUuaGFzKGEpfHwoZC5ydWxlcy5zdHlsZWQuY2FjaGUuYWRkKGEpLHZyKGUsWyIuIithXSxbXSxsLGU9PntmLnN0eWxlZC5hcHBseShlKX0pKTtsZXQgdD1qcihyLG4sbC5tZWRpYSksbz1qcihpLG4sbC5tZWRpYSwhMCk7Zm9yKGxldCBlIG9mIHQpaWYodm9pZCAwIT09ZSlmb3IobGV0W3IsaSxuXW9mIGUpe2xldCBlPWAke2F9LSR7VHIoaSl9LWArcix0PShzLmFkZChlKSwobj9kLnJ1bGVzLnJlc29uZXZhcjpkLnJ1bGVzLm9uZXZhcikuY2FjaGUpLG89bj9mLnJlc29uZXZhcjpmLm9uZXZhcjt0LmhhcyhlKXx8KHQuYWRkKGUpLHZyKGksWyIuIitlXSxbXSxsLGU9PntvLmFwcGx5KGUpfSkpfWZvcihsZXQgZSBvZiBvKWlmKHZvaWQgMCE9PWUpZm9yKGxldFt0LG9db2YgZSl7bGV0IGU9YCR7YX0tJHtUcihvKX0tYCt0O3MuYWRkKGUpLGQucnVsZXMuYWxsdmFyLmNhY2hlLmhhcyhlKXx8KGQucnVsZXMuYWxsdmFyLmNhY2hlLmFkZChlKSx2cihvLFsiLiIrZV0sW10sbCxlPT57Zi5hbGx2YXIuYXBwbHkoZSl9KSl9fWlmKCJvYmplY3QiPT10eXBlb2YgbyYmbyl7bGV0IGU9YCR7YX0taSR7VHIobyl9LWNzc2A7cy5hZGQoZSksZC5ydWxlcy5pbmxpbmUuY2FjaGUuaGFzKGUpfHwoZC5ydWxlcy5pbmxpbmUuY2FjaGUuYWRkKGUpLHZyKG8sWyIuIitlXSxbXSxsLGU9PntmLmlubGluZS5hcHBseShlKX0pKX1mb3IobGV0IGUgb2YgU3RyaW5nKHQuY2xhc3NOYW1lfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKSllJiZzLmFkZChlKTtsZXQgZT1yLmNsYXNzTmFtZT1bLi4uc10uam9pbigiICIpO3JldHVybnt0eXBlOmMudHlwZSxjbGFzc05hbWU6ZSxzZWxlY3RvcjpoLHByb3BzOnIsdG9TdHJpbmc6KCk9PmUsZGVmZXJyZWRJbmplY3RvcjptfX07ZnVuY3Rpb24gcigpe2ZvcihsZXQgZT0wO2U8cltScl0ubGVuZ3RoO2UrKyl7dmFyW3Qsb109cltScl1bZV07aS5ydWxlc1t0XS5hcHBseShvKX1yZXR1cm4gcltScl09W10sbnVsbH12YXIgaTtyZXR1cm4gbHIoZSx7Y2xhc3NOYW1lOmEsc2VsZWN0b3I6aCxbc3JdOmMsdG9TdHJpbmc6KCk9PihkLnJ1bGVzLnN0eWxlZC5jYWNoZS5oYXMoYSl8fGUoKSxhKX0pfSxfcj1lPT57bGV0IHQ9IiI7dmFyIG8scixpLG49W10sYT17fSxzPVtdO2ZvcihbbywsLCxyLGldb2YgZSl7IiI9PT10JiYodD1vKSxuLnB1c2gobykscy5wdXNoKC4uLmkpO2ZvcihsZXQgdCBpbiByKXtsZXQgZT1yW3RdO3ZvaWQgMCE9PWFbdF0mJiJ1bmRlZmluZWQiPT09ZSYmIWkuaW5jbHVkZXMoZSl8fChhW3RdPWUpfX1yZXR1cm5bdCxuLGEsbmV3IFNldChzKV19LGpyPShlLHQsYSxvKT0+e3ZhciByPVtdO2U6Zm9yKHZhcltzLGwsaV1vZiBlKWlmKCFpKXtsZXQgZSxpPTAsbj0hMTtmb3IoZSBpbiBzKXtsZXQgcj1zW2VdO3ZhciBjPXRbZV07aWYoYyE9PXIpe2lmKCJvYmplY3QiIT10eXBlb2YgY3x8IWMpY29udGludWUgZTt7bGV0IGUsdCxvPTA7Zm9yKHZhciBkIGluIGMpe2lmKHI9PT1TdHJpbmcoY1tkXSkpe2lmKCJAaW5pdGlhbCIhPT1kKXtsZXQgZT1kLnNsaWNlKDEpOyh0PXR8fFtdKS5wdXNoKGUgaW4gYT9hW2VdOmQucmVwbGFjZSgvXkBtZWRpYSA/LywiIikpLG49ITB9aSs9byxlPSEwfSsrb31pZih0JiZ0Lmxlbmd0aCYmKGw9e1siQG1lZGlhICIrdC5qb2luKCIsICIpXTpsfSksIWUpY29udGludWUgZX19fShyW2ldPXJbaV18fFtdKS5wdXNoKFtvPyJjdiI6ZSsiLSIrc1tlXSxsLG5dKX1yZXR1cm4gcn0sTnI9e30sVnI9a2UoKSxNcj0oaSxuKT0+VnIoaSwoKT0+KC4uLnIpPT57dmFyIGU9KCk9Pntmb3IodmFyIHQgb2Ygcil7dD0ib2JqZWN0Ij09dHlwZW9mIHQmJnR8fHt9O3ZhciBlPVRyKHQpO2lmKCFuLnJ1bGVzLmdsb2JhbC5jYWNoZS5oYXMoZSkpe2lmKG4ucnVsZXMuZ2xvYmFsLmNhY2hlLmFkZChlKSwiQGltcG9ydCJpbiB0KXtsZXQgZT1bXS5pbmRleE9mLmNhbGwobi5zaGVldC5jc3NSdWxlcyxuLnJ1bGVzLnRoZW1lZC5ncm91cCktMTtmb3IodmFyIG8gb2ZbXS5jb25jYXQodFsiQGltcG9ydCJdKSlvPW8uaW5jbHVkZXMoJyInKXx8by5pbmNsdWRlcygiJyIpP286YCIke299ImAsbi5zaGVldC5pbnNlcnRSdWxlKGBAaW1wb3J0ICR7b307YCxlKyspO2RlbGV0ZSB0WyJAaW1wb3J0Il19dnIodCxbXSxbXSxpLGU9PntuLnJ1bGVzLmdsb2JhbC5hcHBseShlKX0pfX1yZXR1cm4iIn07cmV0dXJuIGxyKGUse3RvU3RyaW5nOmV9KX0pLHpyPWtlKCksRnI9KGksbik9PnpyKGksKCk9Pm89PntsZXQgcj14cihpLnByZWZpeCkrImstIitUcihvKSxlPSgpPT57aWYoIW4ucnVsZXMuZ2xvYmFsLmNhY2hlLmhhcyhyKSl7bi5ydWxlcy5nbG9iYWwuY2FjaGUuYWRkKHIpO2xldCB0PVtdO3ZyKG8sW10sW10saSxlPT50LnB1c2goZSkpO3ZhciBlPWBAa2V5ZnJhbWVzICR7cn17JHt0LmpvaW4oIiIpfX1gO24ucnVsZXMuZ2xvYmFsLmFwcGx5KGUpfXJldHVybiByfTtyZXR1cm4gbHIoZSx7Z2V0IG5hbWUoKXtyZXR1cm4gZSgpfSx0b1N0cmluZzplfSl9KSxVcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsbyxyKXt0aGlzLnRva2VuPW51bGw9PWU/IiI6U3RyaW5nKGUpLHRoaXMudmFsdWU9bnVsbD09dD8iIjpTdHJpbmcodCksdGhpcy5zY2FsZT1udWxsPT1vPyIiOlN0cmluZyhvKSx0aGlzLnByZWZpeD1udWxsPT1yPyIiOlN0cmluZyhyKX1nZXQgY29tcHV0ZWRWYWx1ZSgpe3JldHVybiJ2YXIoIit0aGlzLnZhcmlhYmxlKyIpIn1nZXQgdmFyaWFibGUoKXtyZXR1cm4iLS0iK3hyKHRoaXMucHJlZml4KSt4cih0aGlzLnNjYWxlKSt0aGlzLnRva2VufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY29tcHV0ZWRWYWx1ZX19LFdyPWtlKCksSHI9KHMscik9PldyKHMsKCk9Pih0LGkpPT57aT0ib2JqZWN0Ij09dHlwZW9mIHQmJnR8fE9iamVjdChpKTtsZXQgZT0iLiIrKHQ9KHQ9InN0cmluZyI9PXR5cGVvZiB0P3Q6IiIpfHx4cihzLnByZWZpeCkrInQtIitUcihpKSksbj17fSxhPVtdO2ZvcihsZXQgciBpbiBpKXtuW3JdPXt9O2ZvcihsZXQgbyBpbiBpW3JdKXtsZXQgZT1gLS0ke3hyKHMucHJlZml4KX0ke3J9LWArbyx0PXlyKFN0cmluZyhpW3JdW29dKSxzLnByZWZpeCxyKTtuW3JdW29dPW5ldyBVcihvLHQscixzLnByZWZpeCksYS5wdXNoKGUrIjoiK3QpfX1sZXQgbz0oKT0+e3ZhciBlO3JldHVybiBhLmxlbmd0aCYmIXIucnVsZXMudGhlbWVkLmNhY2hlLmhhcyh0KSYmKHIucnVsZXMudGhlbWVkLmNhY2hlLmFkZCh0KSxlPWAke2k9PT1zLnRoZW1lPyI6cm9vdCwiOiIifS4ke3R9eyR7YS5qb2luKCI7Iil9fWAsci5ydWxlcy50aGVtZWQuYXBwbHkoZSkpLHR9O3JldHVybnsuLi5uLGdldCBjbGFzc05hbWUoKXtyZXR1cm4gbygpfSxzZWxlY3RvcjplLHRvU3RyaW5nOm99fSksR3I9a2UoKSxxcj1lPT57bGV0IGw9ITE7ZT1HcihlLGU9PntsPSEwO2xldCB0PSJwcmVmaXgiaW4oZT0ib2JqZWN0Ij09dHlwZW9mIGUmJmV8fHt9KT9TdHJpbmcoZS5wcmVmaXgpOiIiLG89Im9iamVjdCI9PXR5cGVvZiBlLm1lZGlhJiZlLm1lZGlhfHx7fSxyPSJvYmplY3QiPT10eXBlb2YgZS5yb290P2Uucm9vdHx8bnVsbDpnbG9iYWxUaGlzLmRvY3VtZW50fHxudWxsLGk9Im9iamVjdCI9PXR5cGVvZiBlLnRoZW1lJiZlLnRoZW1lfHx7fSxuPXtwcmVmaXg6dCxtZWRpYTpvLHRoZW1lOmksdGhlbWVNYXA6Im9iamVjdCI9PXR5cGVvZiBlLnRoZW1lTWFwJiZlLnRoZW1lTWFwfHx7Li4ubnJ9LHV0aWxzOiJvYmplY3QiPT10eXBlb2YgZS51dGlscyYmZS51dGlsc3x8e319LGE9QXIocikscz17Y3NzOkRyKG4sYSksZ2xvYmFsQ3NzOk1yKG4sYSksa2V5ZnJhbWVzOkZyKG4sYSksY3JlYXRlVGhlbWU6SHIobixhKSxyZXNldCgpe2EucmVzZXQoKSxzLnRoZW1lLnRvU3RyaW5nKCl9LHRoZW1lOnt9LHNoZWV0OmEsY29uZmlnOm4scHJlZml4OnQsZ2V0Q3NzVGV4dDphLnRvU3RyaW5nLHRvU3RyaW5nOmEudG9TdHJpbmd9O3JldHVybiBTdHJpbmcocy50aGVtZT1zLmNyZWF0ZVRoZW1lKGkpKSxzfSk7cmV0dXJuIGx8fGUucmVzZXQoKSxlfSxLcj0oKT0+aXI9aXJ8fHFyKCksUXI9KC4uLmUpPT5LcigpLmtleWZyYW1lcyguLi5lKTtsZXQgQj1xcih7cHJlZml4OiJhZG9wdCIsdXRpbHM6e30sdGhlbWU6e2ZvbnRTaXplczp7YmlnVGl0bGU6IjMwcHgiLHRpdGxlOiIxM3B4Iix0ZXh0OiIxMnB4IixzbWFsbFRleHQ6IjExcHgifSxsaW5lSGVpZ2h0czp7dGl0bGU6IjEuMjVlbSJ9fSxtZWRpYTp7c206IihtYXgtd2lkdGg6IDM2MHB4KSIsbW9iaWxlOiIobWF4LXdpZHRoOiA2MzBweCkiLG1kOiIobWF4LXdpZHRoOiA3MDBweCkiLHRhYmxldDoiKG1heC13aWR0aDogOTkycHgpIixkZXNrdG9wOiIobWF4LXdpZHRoOiAxMjAwcHgpIn19KS5jc3M7ZnVuY3Rpb24gSnIoZSl7bGV0IG8scixpO3JldHVybntjKCl7bz1kZSgiZGl2IiksYW8oKHI9ZGUoImltZyIpKS5zcmMsaT1lWzBdPy5jb250cm9sbGVyKXx8bWUociwic3JjIixpKSxtZShyLCJhbHQiLCJjb29raWUgYmFubmVyIGNvbnRyb2xsZXIiKSxtZShvLCJjbGFzcyIsZVs1XSgpKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpfSxwKGUsdCl7MSZ0JiYhYW8oci5zcmMsaT1lWzBdPy5jb250cm9sbGVyKSYmbWUociwic3JjIixpKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gWnIoZSl7bGV0IHIsbztyZXR1cm4gcj1uZXcgWW8oe3Byb3BzOntmaWxsOkQoT1tlWzFdXSxSLnByaW1hcnlDb2xvcixlWzZdLGVbMF0/LmNvbG9ycyxlWzddKX19KSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTszJnQmJihvLmZpbGw9RChPW2VbMV1dLFIucHJpbWFyeUNvbG9yLGVbNl0sZVswXT8uY29sb3JzLGVbN10pKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBZcihlKXtsZXQgcixvO3JldHVybiByPW5ldyB0cih7cHJvcHM6e2ZpbGw6RChPW2VbMV1dLFIucHJpbWFyeUNvbG9yLGVbNl0sZVswXT8uY29sb3JzLGVbN10pfX0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzMmdCYmKG8uZmlsbD1EKE9bZVsxXV0sUi5wcmltYXJ5Q29sb3IsZVs2XSxlWzBdPy5jb2xvcnMsZVs3XSkpLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIFhyKGUpe2xldCByLGksbixvLGE9W3RpLGVpXSxzPVtdO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGVbMF0/LndoaXRlbGFiZWw/LmRpc2NsYWltZXJDb250cm9sbGVyPzA6MX1yZXR1cm4gcj1sKGUpLGk9c1tyXT1hW3JdKGUpLHtjKCl7aS5jKCksbj1mbygpfSxtKGUsdCl7c1tyXS5tKGUsdCksbGUoZSxuLHQpLG89ITB9LHAoZSx0KXtsZXQgbz1yOyhyPWwoZSkpPT09bz9zW3JdLnAoZSx0KTooaWUoKSxiZShzW29dLDEsMSwoKT0+e3Nbb109bnVsbH0pLG5lKCksKGk9c1tyXSk/aS5wKGUsdCk6KGk9c1tyXT1hW3JdKGUpKS5jKCksaGUoaSwxKSxpLm0obi5wYXJlbnROb2RlLG4pKX0saShlKXtvfHwoaGUoaSksbz0hMCl9LG8oZSl7YmUoaSksbz0hMX0sZChlKXtzW3JdLmQoZSksZSYmY2Uobil9fX1mdW5jdGlvbiBlaShlKXtsZXQgcixvO3JldHVybiByPW5ldyBRbyh7cHJvcHM6e2ZpbGw6RChPW2VbMV1dLFIucHJpbWFyeUNvbG9yLGVbNl0sZVswXT8uY29sb3JzLGVbN10pfX0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzMmdCYmKG8uZmlsbD1EKE9bZVsxXV0sUi5wcmltYXJ5Q29sb3IsZVs2XSxlWzBdPy5jb2xvcnMsZVs3XSkpLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIHRpKGUpe2xldCBvO3JldHVybntjKCl7bWUobz1kZSgiZGl2IiksImNsYXNzIixlWzRdKCkpLG1lKG8sImlkIiwid2hpdGVsYWJlbElkIil9LG0oZSx0KXtsZShlLG8sdCl9LHA6aCxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBvaShyKXtsZXQgaSxuLGEsdCxvLHMsbCxjPVtYcixZcixacixKcl0sZD1bXTtmdW5jdGlvbiBwKGUpe3JldHVybiBlWzBdPy5jb250cm9sbGVyPT09bS5BZG9wdD8wOmVbMF0/LmNvbnRyb2xsZXI9PT1tLkNvb2tpZT8xOmVbMF0/LmNvbnRyb2xsZXI9PT1tLkxvY2s/MjozfXJldHVybiBuPXAociksYT1kW25dPWNbbl0ocikse2MoKXtpPWRlKCJkaXYiKSxhLmMoKSxtZShpLCJhcmlhLWNvbnRyb2xzIiwiY29va2llLWJhbm5lciIpLG1lKGksImlkIiwiYWRvcHQtY29udHJvbGxlci1idXR0b24iKSxtZShpLCJjbGFzcyIsclszXSgpKX0sbShlLHQpe2xlKGUsaSx0KSxkW25dLm0oaSxudWxsKSxvPSEwLHN8fChsPWdlKGksImNsaWNrIixobyhyWzldKSkscz0hMCl9LHAoZSxbdF0pe3I9ZTtsZXQgbz1uOyhuPXAocikpPT09bz9kW25dLnAocix0KTooaWUoKSxiZShkW29dLDEsMSwoKT0+e2Rbb109bnVsbH0pLG5lKCksKGE9ZFtuXSk/YS5wKHIsdCk6KGE9ZFtuXT1jW25dKHIpKS5jKCksaGUoYSwxKSxhLm0oaSxudWxsKSl9LGkoZSl7b3x8KGhlKGEpLGpvKCgpPT57byYmKHQ9dHx8R28oaSxvcix7ZHVyYXRpb246ITEhPT1yWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MTUwOjB9LCEwKSkucnVuKDEpfSksbz0hMCl9LG8oZSl7YmUoYSksKHQ9dHx8R28oaSxvcix7ZHVyYXRpb246ITEhPT1yWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MTUwOjB9LCExKSkucnVuKDApLG89ITF9LGQoZSl7ZSYmY2UoaSksZFtuXS5kKCksZSYmdCYmdC5lbmQoKSxzPSExLGwoKX19fWZ1bmN0aW9uIHJpKGUsdCxvKXtsZXQgcj10LmNvbmZpZyxpPXQuc3R5bGVzLG49JG8oKTt2YXJ7Y29udHJvbGxlckJ1dHRvbjp0LGNvbnRyb2xsZXJTdmc6YSxjb250cm9sbGVySW1nOnN9PSgoZSx0KT0+e3Zhcntjb2xvcnM6byxwb3NpdGlvbjpyfT1lLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6aX09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOm4saGFzSW1wb3J0YW50OmEsY29sb3JzOnN9PXQ7bGV0IGw9dm9pZCAwPT09YXx8YT92b2lkIDA9PT1pfHxpPyIhaW1wb3J0YW50IjoiIjoiIjthPSIhaW1wb3J0YW50Ij09PWw/InVuc2V0ICFpbXBvcnRhbnQiOiIiLGk9e3JpZ2h0OntyaWdodDoiMjBweCAiK2wsbGVmdDoiYXV0byAiK2x9fTtyZXR1cm57Y29udHJvbGxlckJ1dHRvbjpCKHthbGw6YSxwb3NpdGlvbjoiZml4ZWQgIitsLGJvdHRvbToiMjBweCAiK2wsbGVmdDoiMjBweCAiK2wsd2lkdGg6IjYwcHggIitsLGhlaWdodDoiNjBweCAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxvcGFjaXR5OiIwLjUgIitsLHpJbmRleDoiOTk5OTk5OTk5MCAiK2wsYm9yZGVyUmFkaXVzOiI1MCUgIitsLG92ZXJmbG93OiJoaWRkZW4gIitsLC4uLmlbcj8uY29udHJvbGxlcl0sIiY6aG92ZXIiOntvcGFjaXR5OiIxICIrbH0sLi4uZT8ud2ViPy5jb250cm9sbGVyPy5idXR0b24sLi4ubj8ud2ViPy5jb250cm9sbGVyPy5idXR0b24sIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNvbnRyb2xsZXI/LmJ1dHRvbiwuLi5uPy5tb2JpbGU/LmNvbnRyb2xsZXI/LmJ1dHRvbn19KSxjb250cm9sbGVyU3ZnOkIoe21heFdpZHRoOiI0NXB4ICIrbCxtYXhIZWlnaHQ6IjUwcHggIitsLHBvc2l0aW9uOiJyZWxhdGl2ZSAiK2wsbGVmdDoiNTAlICIrbCx0b3A6IjUwJSAiK2wsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgIitsLGZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2wsLi4uZT8ud2ViPy5jb250cm9sbGVyPy5zdmcsLi4ubj8ud2ViPy5jb250cm9sbGVyPy5zdmcsIkBtb2JpbGUiOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/Lm1vYmlsZT8uY29udHJvbGxlcj8uc3ZnLC4uLm4/Lm1vYmlsZT8uY29udHJvbGxlcj8uc3ZnfX0pLGNvbnRyb2xsZXJJbWc6Qih7YWxsOmEsZGlzcGxheToiZmxleCAiK2wsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxib3JkZXJSYWRpdXM6IjUwJSAiK2wsd2lkdGg6IjEwMCUgIitsLGhlaWdodDoiMTAwJSAiK2wsYmFja2dyb3VuZDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwiJiBpbWciOnthbGw6YSx3aWR0aDoiMTAwJSAiK2wsaGVpZ2h0OiIxMDAlICIrbCxtYXhXaWR0aDoiMTAwJSAiK2x9LC4uLmU/LndlYj8uY29udHJvbGxlcj8uaW1nLC4uLm4/LndlYj8uY29udHJvbGxlcj8uaW1nLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwuLi5lPy5tb2JpbGU/LmNvbnRyb2xsZXI/LmltZywuLi5uPy5tb2JpbGU/LmNvbnRyb2xsZXI/LmltZ319KX19KShyLGkpLHt0aGVtZTpsPSJsaWdodCIsY29sb3JzOmN9PWk7bGV0IGQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoPD03Njg/Im1vYmlsZSI6IndlYiIscD0oKT0+e28oMSxkPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDw9NzY4PyJtb2JpbGUiOiJ3ZWIiKX07VG8oYXN5bmMoKT0+e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHApLEt0KHI/LndoaXRlbGFiZWw/LmRpc2NsYWltZXJDb250cm9sbGVyLCJ3aGl0ZWxhYmVsSWQiKX0pLExvKCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCl9KTtyZXR1cm4gZS4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAscj1lLmNvbmZpZyksInN0eWxlcyJpbiBlJiZvKDgsaT1lLnN0eWxlcyl9LFtyLGQsbix0LGEscyxsLGMsaSwoKT0+bigiZ28iLHtzdGF0dXM6TS5DYXJkLGV2ZW50OnouQmFsbENsaWNrfSldfWNsYXNzIGlpIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLHJpLG9pLHIse2NvbmZpZzowLHN0eWxlczo4fSl9fWxldCBuaT0oZSx0KT0+e3Zhcntjb2xvcnM6byxwb3NpdGlvbjpyLGRpc2NsYWltZXJPcHRpb25zOml9PWUse3N0eWxlczplLGhhc0ltcG9ydGFudDpuLHVzZUJ1dHRvbnNXaXRoU2FtZUNvbG9yOmF9PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczpzLGhhc0ltcG9ydGFudDpsLGNvbG9yczpjfT10O2xldCBkPSIhaW1wb3J0YW50Ijt2b2lkIDA9PT1ufHxufHwoZD0iIiksdm9pZCAwPT09bHx8bHx8KGQ9IiIpO3ZhciBuPWk/LmFjY2Vzc2liaWxpdHksbD1pPy5kaXNjbGFpbWVyQ2FyZFNoYWRvdyxpPSIhaW1wb3J0YW50Ij09PWQ/InVuc2V0ICFpbXBvcnRhbnQiOiIiLHA9e2JvdHRvbTp7bGVmdDoiMCAiK2R9LHRvcDp7Ym90dG9tOiJhdXRvICIrZCxsZWZ0OiIwICIrZCx0b3A6IjAgIitkfSxsZWZ0Ontib3R0b206Ijc1cHggIitkLGxlZnQ6Ijc1cHggIitkLGJvcmRlclJhZGl1czoiMjBweCAiK2Qsd2lkdGg6IjM1MHB4ICIrZH0scmlnaHQ6e2JvdHRvbToiNzVweCAiK2QscmlnaHQ6Ijc1cHggIitkLGxlZnQ6ImF1dG8gIitkLGJvcmRlclJhZGl1czoiMjBweCAiK2Qsd2lkdGg6IjM1MHB4ICIrZH0sY2VudGVyOnttYXhXaWR0aDoiMzUwcHggIitkLHdpZHRoOiJjYWxjKDEwMHZ3IC0gNDBweCkgIitkLG1hcmdpbkxlZnQ6ImF1dG8gIitkLG1hcmdpblJpZ2h0OiJhdXRvICIrZCxsZWZ0OiIwICIrZCxyaWdodDoiMCAiK2QsYm9yZGVyUmFkaXVzOiIxNXB4ICIrZCxwb3NpdGlvbjoiZml4ZWQgIitkLGZsZXhXcmFwOiJ3cmFwICIrZH19LHU9e2xlZnQ6e2ZsZXhXcmFwOiJ3cmFwICIrZH0scmlnaHQ6e2ZsZXhXcmFwOiJ3cmFwICIrZH0sY2VudGVyOntmbGV4V3JhcDoid3JhcCAiK2R9fSxnPXtib3R0b206e2Rpc3BsYXk6ImZsZXggIitkLGZsZXhEaXJlY3Rpb246InJvdyAiK2QsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitkfSx0b3A6e2Rpc3BsYXk6ImZsZXggIitkLGZsZXhEaXJlY3Rpb246InJvdyAiK2QsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitkfSxjZW50ZXI6e2Rpc3BsYXk6ImJsb2NrICIrZH19LG09e2JvdHRvbTp7bWluV2lkdGg6IjcwJSAiK2QsbWF4V2lkdGg6IjcwJSAiK2QsbWluSGVpZ2h0OiIwICIrZCxtYXhIZWlnaHQ6IjEwMCUgIitkfSx0b3A6e21pbldpZHRoOiI3MCUgIitkLG1heFdpZHRoOiI3MCUgIitkLG1pbkhlaWdodDoiMCAiK2QsbWF4SGVpZ2h0OiIxMDAlICIrZH0sY2VudGVyOnttaW5XaWR0aDoiMTAwJSAiK2QsbWF4V2lkdGg6IjEwMCUgIitkLG1pbkhlaWdodDoiMCAiK2QsbWF4SGVpZ2h0OiIxMDAlICIrZH19LGY9e3RvcDp7cGFkZGluZ1JpZ2h0OiIyMHB4ICIrZH0sYm90dG9tOntwYWRkaW5nUmlnaHQ6IjIwcHggIitkfX0saD17Ym90dG9tOntnYXA6IjIwcHggIitkfSx0b3A6e2dhcDoiMjBweCAiK2R9LGxlZnQ6e21hcmdpblRvcDoiMjJweCAiK2Qsd2lkdGg6IjEwMCUgIitkfSxyaWdodDp7bWFyZ2luVG9wOiIyMnB4ICIrZCx3aWR0aDoiMTAwJSAiK2R9LGNlbnRlcjp7bWFyZ2luVG9wOiIxMnB4ICIrZCx3aWR0aDoiMTAwJSAiK2R9fSxiPXt0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2QscGFkZGluZzoiMCAiK2QsY3Vyc29yOiJwb2ludGVyICIrZCxib3JkZXI6Im5vbmUgIitkLGxldHRlclNwYWNpbmc6IjAgIitkLHRleHRBbGlnbjoiY2VudGVyICIrZCxhcHBlYXJhbmNlOiJub25lICIrZH0seD17dG9wOntsZWZ0OiIxODVweCAiK2QsdG9wOiIyMHB4ICIrZH0sYm90dG9tOntsZWZ0OiIxODVweCAiK2QsdG9wOiIyMHB4ICIrZH19LHk9e2xlZnQ6e2Rpc3BsYXk6ImJsb2NrICIrZH0scmlnaHQ6e2Rpc3BsYXk6ImJsb2NrICIrZH19LGw9Qih7b3ZlcmZsb3c6ImhpZGRlbiAiK2Qsd2lkdGg6IjEwMHZ3ICIrZCxwb3NpdGlvbjoiZml4ZWQgIitkLGJvdHRvbToiMCAiK2QsdXNlclNlbGVjdDoibm9uZSAiK2QsekluZGV4OiI5OTk5OTk5OTkwICIrZCxib3hTaXppbmc6ImJvcmRlci1ib3ggIitkLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitkLGJhY2tncm91bmQ6RChPLndlYixSLmJnQ29sb3IsdCxvLGMpKyIgIitkLGJveFNoYWRvdzpsPyIwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMikgIitkOiJub25lICIrZCwuLi5wW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uY29udGFpbmVyLC4uLnM/LndlYj8uY2FyZD8uY29udGFpbmVyLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sYykrIiAiK2QsYm90dG9tOiI5MHB4ICIrZCx0b3A6ImF1dG8gIitkLC4uLnAuY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyLC4uLnM/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyfX0pLHA9Qih7YWxsOmksZGlzcGxheToiYmxvY2sgIitkLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2QsaGVpZ2h0OiIxMDAlICIrZCx3aWR0aDoiMTAwJSAiK2QsYWxpZ25JdGVtczoiY2VudGVyICIrZCxwYWRkaW5nOiIyMHB4ICIrZCwuLi5nW3I/LmNhcmRdLC4uLnVbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5jb250ZW50LC4uLnM/LndlYj8uY2FyZD8uY29udGVudCwiQG1vYmlsZSI6ey4uLmcuY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8uY29udGVudCwuLi5zPy5tb2JpbGU/LmNhcmQ/LmNvbnRlbnR9fSksdT1CKHthbGw6aSxib3hTaXppbmc6ImJvcmRlci1ib3ggIitkLG1pbldpZHRoOiIxMDAlICIrZCxtYXhXaWR0aDoiMTAwJSAiK2QsdGV4dEFsaWduOiJsZWZ0ICIrZCxsaW5lSGVpZ2h0OiIkdGl0bGUgIitkLC4uLm1bcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Q29udGFpbmVyLC4uLnM/LndlYj8uY2FyZD8udGV4dENvbnRhaW5lciwiQG1vYmlsZSI6ey4uLm0uY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dENvbnRhaW5lciwuLi5zPy5tb2JpbGU/LmNhcmQ/LnRleHRDb250YWluZXJ9fSksZz1CKHthbGw6aSxkaXNwbGF5OiJmbGV4ICIrZCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2QsYWxpZ25JdGVtczoiZmxleC1zdGFydCAiK2QsbWF4V2lkdGg6IjMwMHB4ICIrZCxtYXJnaW46IjAgMCAxMHB4ICIrZCxmb250U2l6ZToiJHRpdGxlICIrZCwiJiBkaXYiOntkaXNwbGF5OiJmbGV4ICIrZH0sLi4uZltyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRpdGxlUm93LC4uLnM/LndlYj8uY2FyZD8udGl0bGVSb3csIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRpdGxlUm93LC4uLnM/Lm1vYmlsZT8uY2FyZD8udGl0bGVSb3d9fSksbT1CKHthbGw6aSxtYXJnaW46IjAgIitkLGZvbnRTaXplOiIkdGl0bGUgIitkLGZvbnRXZWlnaHQ6IjcwMCAiK2QsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ud2ViPy5jYXJkPy50aXRsZSwuLi5zPy53ZWI/LmNhcmQ/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy50aXRsZSwuLi5zPy5tb2JpbGU/LmNhcmQ/LnRpdGxlfX0pLGY9Qih7IiYgc3ZnIjp7YWxsOmksd2lkdGg6IjIwcHggIitkLGhlaWdodDoiMjBweCAiK2QsZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy53ZWI/LmNhcmQ/LndoaXRlTGFiZWxMb2dvLC4uLnM/LndlYj8uY2FyZD8ud2hpdGVMYWJlbExvZ299LCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LndoaXRlTGFiZWxMb2dvLC4uLnM/Lm1vYmlsZT8uY2FyZD8ud2hpdGVMYWJlbExvZ299fX0pLHg9Qih7YWxsOmksY3Vyc29yOiJwb2ludGVyICIrZCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2QsZm9udFNpemU6IiR0ZXh0ICIrZCxmb250V2VpZ2h0OiI0MDBweCAiK2QsdGV4dEFsaWduOiJyaWdodCAiK2Qsd2hpdGVTcGFjZToibm93cmFwICIrZCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwiJjpmb2N1cy12aXNpYmxlIjpuJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitkLG91dGxpbmVPZmZzZXQ6IjNweCAiK2R9LC4uLnhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5hZG9wdExpbmssLi4ucz8ud2ViPy5jYXJkPy5hZG9wdExpbmssIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGluaywuLi5zPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua319KSx3PUIoe2FsbDppLGRpc3BsYXk6Im5vbmUgIitkLGZvbnRTaXplOiIkdGV4dCAiK2QsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsIiYgYSI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2QsZm9udFdlaWdodDoiYm9sZCAiK2QsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2R9LC4uLmU/LndlYj8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmUsLi4ucz8ud2ViPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGMpKyIgIitkLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZH0sLi4uZT8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwuLi5zPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlfX0pLEM9Qih7YWxsOmksbGluZUhlaWdodDoiMS4zZW0gIitkLC4uLmU/LndlYj8uY2FyZD8udGV4dHNSb3csLi4ucz8ud2ViPy5jYXJkPy50ZXh0c1JvdywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dHNSb3csLi4ucz8ubW9iaWxlPy5jYXJkPy50ZXh0c1Jvd319KSx2PUIoe2FsbDppLGZvbnRTaXplOiIkdGV4dCAiK2QsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsbWFyZ2luQm90dG9tOiI1cHggIitkLC4uLnlbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5zPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5zPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50fX0pLGs9Qih7YWxsOmksdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2QsY3Vyc29yOiJwb2ludGVyICIrZCxmb250V2VpZ2h0OiJib2xkICIrZCxmb250U2l6ZToiJHRleHQgIitkLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ucz8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3N9KTtyZXR1cm57Y2FyZENvbnRhaW5lcjpsLGNhcmRDb250ZW50OnAsY2FyZFRleHRDb250YWluZXI6dSxjYXJkVGl0bGVSb3c6ZyxjYXJkVGl0bGU6bSxjYXJkQWRvcHRMaW5rOngsY2FyZEFkb3B0TGlua0FsdGVybmF0aXZlOncsY2FyZFdoaXRlTGFiZWxMb2dvOmYsY2FyZFRleHRzUm93OkMsY2FyZFRleHRSb3dDb250ZW50OnYsY2FyZFRleHRSb3dMaW5rczpCKHthbGw6aSxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCwiJiBzcGFuI2Fkb3B0LWRpdmlzb3IiOnthbGw6aSxtYXJnaW46IjAgMnB4ICIrZCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2R9LCImIHNwYW4iOnthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitkLGZvbnRXZWlnaHQ6ImJvbGQgIitkLGZvbnRTaXplOiIkdGV4dCAiK2QsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2QsLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ucz8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3N9LC4uLmU/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLnM/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsIiYgYSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGMpKyIgIitkLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLnM/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfSwiJiBzcGFuIjp7Li4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ucz8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9LC4uLnkubGVmdCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5zPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc319KSxjYXJkVGV4dExpbmtzOmssY2FyZEJ1dHRvbnNDb250YWluZXI6Qih7YWxsOmksZGlzcGxheToiZmxleCAiK2QsYWxpZ25JdGVtczoiY2VudGVyICIrZCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2QsLi4uaFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ucz8ud2ViPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLCJAbW9iaWxlIjp7Li4uaC5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLnM/Lm1vYmlsZT8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lcn0sIkBzbSI6e2dhcDoiNnB4ICIrZH0sIiYgYnV0dG9uI2Fkb3B0LXByZWZlcmVuY2VzLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK2QsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK2R9LCImIGJ1dHRvbiNhZG9wdC1yZWplY3QtYWxsLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK2QsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK2R9LCImIGJ1dHRvbiNhZG9wdC1hY2NlcHQtYWxsLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK2QsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK2R9fSksY2FyZFJlamVjdEFsbExpbms6Qih7YWxsOmksLi4uYixmb250U2l6ZToiJHRleHQgIitkLGZvbnRXZWlnaHQ6IjcwMCAiK2QsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy53ZWI/LmNhcmQ/LnJlamVjdEFsbExpbmssLi4ucz8ud2ViPy5jYXJkPy5yZWplY3RBbGxMaW5rLCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Qsd2lkdGg6ImF1dG8gIitkLG9wYWNpdHk6IjAgIitkfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxjKSsiICIrZCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbExpbmssLi4ucz8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxMaW5rfX0pLGNhcmRSZWplY3RBbGxCdXR0b246Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrZCxmb250V2VpZ2h0OiI3MDAgIitkLHBhZGRpbmc6IjEwcHggMzBweCAiK2QsYm9yZGVyUmFkaXVzOiIyMHB4ICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLHRleHRBbGlnbjoiY2VudGVyICIrZCxjb2xvcjpEKE8ud2ViLGE/Ui5iZ0NvbG9yOlIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxib3JkZXI6YT8ibm9uZSAiK2Q6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGMpfSBgK2QsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsYT9SLnByaW1hcnlDb2xvcjpSLmJnQ29sb3IsdCxvLGMpKyIgIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sLi4uZT8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4ucz8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitkLHdpZHRoOiJhdXRvICIrZCxvcGFjaXR5OiIwICIrZH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLGE/Ui5iZ0NvbG9yOlIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxib3JkZXI6YT8ibm9uZSAiK2Q6YDFweCBzb2xpZCAke0QoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGMpfSBgK2QsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsYT9SLnByaW1hcnlDb2xvcjpSLmJnQ29sb3IsdCxvLGMpKyIgIitkLC4uLmU/Lm1vYmlsZT8uY2FyZD8ucmVqZWN0QWxsQnV0dG9uLC4uLnM/Lm1vYmlsZT8uY2FyZD8ucmVqZWN0QWxsQnV0dG9ufX0pLGNhcmRQcmVmZXJlbmNlc0J1dHRvbjpCKHthbGw6aSwuLi5iLGZvbnRTaXplOiIkdGV4dCAiK2QsZm9udFdlaWdodDoiNzAwICIrZCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSsiICIrZCxiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50ICIrZCx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrZCxib3hTaGFkb3c6Im5vbmUgIitkLCImOmZvY3VzLXZpc2libGUiOm4mJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Qsb3V0bGluZU9mZnNldDoiM3B4ICIrZH0sLi4uZT8ud2ViPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwuLi5zPy53ZWI/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Qsd2lkdGg6ImF1dG8gIitkLG9wYWNpdHk6IjAgIitkfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYykrIiAiK2QsLi4uZT8ubW9iaWxlPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwuLi5zPy5tb2JpbGU/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9ufX0pLGNhcmRBY2NlcHRBbGxCdXR0b246Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrZCxmb250V2VpZ2h0OiI3MDAgIitkLGJvcmRlcjoibm9uZSAiK2QsY3Vyc29yOiJwb2ludGVyICIrZCxsZXR0ZXJTcGFjaW5nOiIwICIrZCx0ZXh0QWxpZ246ImNlbnRlciAiK2QsYm9yZGVyUmFkaXVzOiIyMHB4ICIrZCxwYWRkaW5nOiIxMHB4IDMwcHggIitkLGNvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxjKSsiICIrZCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYykrIiAiK2QsYm94U2hhZG93OmAwcHggMTBweCAyOHB4IC0xMnB4ICR7RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYyl9IGArZCwiJjpmb2N1cy12aXNpYmxlIjpuJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitkLG91dGxpbmVPZmZzZXQ6IjNweCAiK2R9LC4uLmU/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLC4uLnM/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Qsd2lkdGg6ImF1dG8gIitkLG9wYWNpdHk6IjAgIitkfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrZCx3aWR0aDoiYXV0byAiK2Qsb3BhY2l0eToiMCAiK2R9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGMpKyIgIitkLGJhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKSsiICIrZCxib3hTaGFkb3c6YDBweCAxMHB4IDI4cHggLTEycHggJHtEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxjKX0gYCtkLC4uLmU/Lm1vYmlsZT8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLC4uLnM/Lm1vYmlsZT8uY2FyZD8uYWNjZXB0QWxsQnV0dG9ufX0pLGNhcmREZXRhaWxzQnV0dG9uOkIoe2FsbDppLGZvbnRTaXplOiIkdGV4dCAiK2QsY3Vyc29yOiJwb2ludGVyICIrZCxtYXJnaW5Ub3A6IjVweCAiK2QsbWFyZ2luQm90dG9tOiIxMHB4ICIrZCxkaXNwbGF5OiJmbGV4ICIrZCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitkLGdhcDoiOHB4ICIrZCwiJjpmb2N1cy12aXNpYmxlIjpuJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitkLG91dGxpbmVPZmZzZXQ6IjNweCAiK2R9fSksY2FyZERldGFpbHNXcmFwcGVyOkIoe2FsbDppLHBhZGRpbmc6IjRweCA4cHggIitkLG1hcmdpblRvcDoiMTBweCAiK2QsbWFyZ2luQm90dG9tOiIxMHB4ICIrZCxib3JkZXJSYWRpdXM6IjNweCAiK2QsYmFja2dyb3VuZE9wYWNpdHk6IjAuMiAiK2QsZGlzcGxheToiZmxleCAiK2QsZ2FwOiI1cHggIitkLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2QsYmFja2dyb3VuZDpRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSwuMSkrIiAiK2R9KSxjYXJkRGV0YWlsc0l0ZW06Qih7YWxsOmksZm9udFNpemU6IiR0ZXh0ICIrZCxjdXJzb3I6InBvaW50ZXIgIitkLGRpc3BsYXk6ImJsb2NrICIrZCxwb3NpdGlvbjoicmVsYXRpdmUgIitkLHBhZGRpbmdMZWZ0OiIxMHB4ICIrZCwiJjpmb2N1cy12aXNpYmxlIjpuJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitkLG91dGxpbmVPZmZzZXQ6IjNweCAiK2R9LCImOjpiZWZvcmUiOntjb250ZW50OiciIiAnK2QsZGlzcGxheToiYmxvY2sgIitkLHdpZHRoOiI0cHggIitkLGhlaWdodDoiNHB4ICIrZCxib3JkZXJSYWRpdXM6IjUwJSAiK2QsYmFja2dyb3VuZDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxjKSxwb3NpdGlvbjoiYWJzb2x1dGUgIitkLGxlZnQ6IjBweCAiK2QsdG9wOiI1MCUgIitkLHRyYW5zZm9ybToidHJhbnNsYXRlWSgtNTAlKSAiK2R9LCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2R9fSksY2FyZERldGFpbHNDaGV2cm9uOkIoe2FsbDppLGJhY2tncm91bmQ6UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYyksLjEpKyIgIitkLHdpZHRoOiIzMHB4ICIrZCxoZWlnaHQ6IjMwcHggIitkLGJvcmRlclJhZGl1czoiNTAlICIrZCxkaXNwbGF5OiJmbGV4ICIrZCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitkLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitkfSl9fSxhaT0oZSx0KT0+e2xldHtjb2xvcnM6byxwb3NpdGlvbjpyLGRpc2NsYWltZXJPcHRpb25zOml9PWU7dmFye3N0eWxlczplLGhhc0ltcG9ydGFudDpuLHVzZUJ1dHRvbnNXaXRoU2FtZUNvbG9yOmF9PWUuc3R5bGVzPz97fTtsZXR7dGhlbWU6cz0ibGlnaHQiLHN0eWxlczpsLGhhc0ltcG9ydGFudDpjLGNvbG9yczpkfT10LHA9dm9pZCAwPT09Y3x8Yz92b2lkIDA9PT1ufHxuPyIhaW1wb3J0YW50IjoiIjoiIjt2YXIgdD1pPy5hY2Nlc3NpYmlsaXR5LG49aT8uZGlzY2xhaW1lckNhcmRTaGFkb3csdT0iIWltcG9ydGFudCI9PT1wPyJ1bnNldCAhaW1wb3J0YW50IjoiIjtmdW5jdGlvbiBnKCl7cmV0dXJuImJvdHRvbSI9PT1yPy5jYXJkfHwidG9wIj09PXI/LmNhcmQ/Im5vbmUgIitwOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSwuMSl9IGArcH12YXIgbT17Ym90dG9tOntsZWZ0OiIwICIrcH0sdG9wOntib3R0b206ImF1dG8gIitwLGxlZnQ6IjAgIitwLHRvcDoiMCAiK3B9LGxlZnQ6e2JvdHRvbToiNzVweCAiK3AsbGVmdDoiNzVweCAiK3AsYm9yZGVyUmFkaXVzOiIyMHB4ICIrcCx3aWR0aDoiMzUwcHggIitwfSxyaWdodDp7Ym90dG9tOiI3NXB4ICIrcCxyaWdodDoiNzVweCAiK3AsbGVmdDoiYXV0byAiK3AsYm9yZGVyUmFkaXVzOiIyMHB4ICIrcCx3aWR0aDoiMzUwcHggIitwfSxjZW50ZXI6e21heFdpZHRoOiIzNTBweCAiK3Asd2lkdGg6ImNhbGMoMTAwdncgLSA0MHB4KSAiK3AsbWFyZ2luTGVmdDoiYXV0byAiK3AsbWFyZ2luUmlnaHQ6ImF1dG8gIitwLGxlZnQ6IjAgIitwLHJpZ2h0OiIwICIrcCxib3JkZXJSYWRpdXM6IjE1cHggIitwLHBvc2l0aW9uOiJmaXhlZCAiK3AsZmxleFdyYXA6IndyYXAgIitwfX0sZj17bGVmdDp7ZmxleFdyYXA6IndyYXAgIitwfSxyaWdodDp7ZmxleFdyYXA6IndyYXAgIitwfSxjZW50ZXI6e2ZsZXhXcmFwOiJ3cmFwICIrcH19LGg9e2JvdHRvbTp7cGFkZGluZ1JpZ2h0OiIyMHB4ICIrcCxkaXNwbGF5OiJmbGV4ICIrcCxmbGV4RGlyZWN0aW9uOiJyb3cgIitwLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrcH0sdG9wOntwYWRkaW5nUmlnaHQ6IjIwcHggIitwLGRpc3BsYXk6ImZsZXggIitwLGZsZXhEaXJlY3Rpb246InJvdyAiK3AsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitwfSxsZWZ0OntkaXNwbGF5OiJmbGV4ICIrcCxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitwLGp1c3RpZnlDb250ZW50OiJpbml0aWFsICIrcH0scmlnaHQ6e2Rpc3BsYXk6ImZsZXggIitwLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK3AsanVzdGlmeUNvbnRlbnQ6ImluaXRpYWwgIitwfSxjZW50ZXI6e2Rpc3BsYXk6ImZsZXggIitwLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK3AsanVzdGlmeUNvbnRlbnQ6ImluaXRpYWwgIitwfX0sYj17Ym90dG9tOnttaW5XaWR0aDoiNzAlICIrcCxtYXhXaWR0aDoiNzAlICIrcCxtaW5IZWlnaHQ6IjAgIitwLG1heEhlaWdodDoiMTAwJSAiK3B9LHRvcDp7bWluV2lkdGg6IjcwJSAiK3AsbWF4V2lkdGg6IjcwJSAiK3AsbWluSGVpZ2h0OiIwICIrcCxtYXhIZWlnaHQ6IjEwMCUgIitwfSxjZW50ZXI6e21pbldpZHRoOiIxMDAlICIrcCxtYXhXaWR0aDoiMTAwJSAiK3AsbWluSGVpZ2h0OiIwICIrcCxtYXhIZWlnaHQ6IjEwMCUgIitwfX0seD17dG9wOntwYWRkaW5nUmlnaHQ6IjIwcHggIitwfSxib3R0b206e3BhZGRpbmdSaWdodDoiMjBweCAiK3B9fSx5PXtib3R0b206e2dhcDoiMjBweCAiK3AsYm9yZGVyOiJub25lICIrcH0sdG9wOntnYXA6IjIwcHggIitwLGJvcmRlcjoibm9uZSAiK3B9LGxlZnQ6e3dpZHRoOiIxMDAlICIrcH0scmlnaHQ6e3dpZHRoOiIxMDAlICIrcH19LHc9e2ZsZXg6IjEgIitwLGhlaWdodDoiNDRweCAiK3AsYm9yZGVyOiJub25lICIrcCxjdXJzb3I6InBvaW50ZXIgIitwLGJhY2tncm91bmQ6Im5vbmUgIitwLHRleHREZWNvcmF0aW9uOiJub25lICIrcCxmb250V2VpZ2h0OiJib2xkICIrcCx0ZXh0QWxpZ246ImNlbnRlciAiK3Asd2hpdGVTcGFjZToibm93cmFwICIrcH0sQz17Ym90dG9tOntib3JkZXJSYWRpdXM6IWF8fCJsZWZ0IiE9PXI/LmNhcmQmJiJyaWdodCIhPT1yPy5jYXJkPyI0cHggIitwOiIiLGhlaWdodDoiMzZweCAiK3AscGFkZGluZzoiMCAzMHB4ICIrcH0sdG9wOntib3JkZXJSYWRpdXM6IWF8fCJsZWZ0IiE9PXI/LmNhcmQmJiJyaWdodCIhPT1yPy5jYXJkPyI0cHggIitwOiIiLGhlaWdodDoiMzZweCAiK3AscGFkZGluZzoiMCAzMHB4ICIrcH19LHY9e2JvdHRvbTp7cGFkZGluZzoiMCAzMHB4ICIrcH0sdG9wOntwYWRkaW5nOiIwIDMwcHggIitwfX0saz17dG9wOntsZWZ0OiIxODVweCAiK3AsdG9wOiIyMHB4ICIrcH0sYm90dG9tOntsZWZ0OiIxODVweCAiK3AsdG9wOiIyMHB4ICIrcH19LEk9e2xlZnQ6e2Rpc3BsYXk6ImJsb2NrICIrcH0scmlnaHQ6e2Rpc3BsYXk6ImJsb2NrICIrcH19LG49Qih7b3ZlcmZsb3c6ImhpZGRlbiAiK3Asd2lkdGg6IjEwMHZ3ICIrcCxwb3NpdGlvbjoiZml4ZWQgIitwLGJvdHRvbToiMCAiK3AsdXNlclNlbGVjdDoibm9uZSAiK3AsekluZGV4OiI5OTk5OTk5OTkwICIrcCxib3hTaXppbmc6ImJvcmRlci1ib3ggIitwLHBhZGRpbmc6IjAgIitwLGZvbnRGYW1pbHk6IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIitwLGJhY2tncm91bmQ6RChPLndlYixSLmJnQ29sb3IscyxvLGQpKyIgIitwLGJveFNoYWRvdzpuPyIwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMikgIitwOiJub25lICIrcCwuLi5tW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uY29udGFpbmVyLC4uLmw/LndlYj8uY2FyZD8uY29udGFpbmVyLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpEKE8ubW9iaWxlLFIuYmdDb2xvcixzLG8sZCkrIiAiK3AsYm90dG9tOiI5MHB4ICIrcCx0b3A6ImF1dG8gIitwLC4uLm0uY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyLC4uLmw/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyfX0pLG09Qih7YWxsOnUsZGlzcGxheToiYmxvY2sgIitwLGJveFNpemluZzoiYm9yZGVyLWJveCAiK3AsaGVpZ2h0OiIxMDAlICIrcCx3aWR0aDoiMTAwJSAiK3AsYWxpZ25JdGVtczoiY2VudGVyICIrcCwuLi5oW3I/LmNhcmRdLC4uLmZbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5jb250ZW50LC4uLmw/LndlYj8uY2FyZD8uY29udGVudCwiQG1vYmlsZSI6e3BhZGRpbmdSaWdodDoiMCAiK3AsLi4uaC5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy5jb250ZW50LC4uLmw/Lm1vYmlsZT8uY2FyZD8uY29udGVudH19KSxmPUIoe2FsbDp1LGJveFNpemluZzoiYm9yZGVyLWJveCAiK3AsbWluV2lkdGg6IjEwMCUgIitwLG1heFdpZHRoOiIxMDAlICIrcCx0ZXh0QWxpZ246ImxlZnQgIitwLGxpbmVIZWlnaHQ6IiR0aXRsZSAiK3AscGFkZGluZzoiMjBweCAiK3AsLi4uYltyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRDb250YWluZXIsLi4ubD8ud2ViPy5jYXJkPy50ZXh0Q29udGFpbmVyLCJAbW9iaWxlIjp7Li4uYi5jZW50ZXIsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Q29udGFpbmVyLC4uLmw/Lm1vYmlsZT8uY2FyZD8udGV4dENvbnRhaW5lcn19KSxoPUIoe2FsbDp1LGRpc3BsYXk6ImZsZXggIitwLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrcCxhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0ICIrcCxtYXhXaWR0aDoiMzAwcHggIitwLG1hcmdpbjoiMCAwIDEwcHggIitwLHBhZGRpbmc6IjAgIitwLGxldHRlclNwYWNpbmc6IjAgIitwLGZvbnRTaXplOiIkdGl0bGUgIitwLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLCImIGRpdiI6e2Rpc3BsYXk6ImZsZXggIitwfSwuLi54W3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8udGl0bGVSb3csLi4ubD8ud2ViPy5jYXJkPy50aXRsZVJvdywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8udGl0bGVSb3csLi4ubD8ubW9iaWxlPy5jYXJkPy50aXRsZVJvd319KSxiPUIoe2FsbDp1LGxldHRlclNwYWNpbmc6IjAgIitwLGZvbnRTaXplOiIkdGl0bGUgIitwLGZvbnRXZWlnaHQ6IjcwMCAiK3AsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3AsbWFyZ2luOiIwICIrcCwuLi5lPy53ZWI/LmNhcmQ/LnRpdGxlLC4uLmw/LndlYj8uY2FyZD8udGl0bGUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRpdGxlLC4uLmw/Lm1vYmlsZT8uY2FyZD8udGl0bGV9fSkseD1CKHsiJiBzdmciOnthbGw6dSx3aWR0aDoiMjBweCAiK3AsaGVpZ2h0OiIyMHB4ICIrcCxmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/LndlYj8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4ubD8ud2ViPy5jYXJkPy53aGl0ZUxhYmVsTG9nb30sIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4ubD8ubW9iaWxlPy5jYXJkPy53aGl0ZUxhYmVsTG9nb319fSksaz1CKHthbGw6dSxjdXJzb3I6InBvaW50ZXIgIitwLHRleHREZWNvcmF0aW9uOiJub25lICIrcCxmb250U2l6ZToiJHRleHQgIitwLGZvbnRXZWlnaHQ6IjQwMHB4ICIrcCx3aWR0aDoiNTBweCAiK3AsdGV4dEFsaWduOiJyaWdodCAiK3Asd2hpdGVTcGFjZToibm93cmFwICIrcCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCwuLi5rW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8uYWRvcHRMaW5rLC4uLmw/LndlYj8uY2FyZD8uYWRvcHRMaW5rLCImOmZvY3VzLXZpc2libGUiOnQmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK3Asb3V0bGluZU9mZnNldDoiM3B4ICIrcH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGluaywuLi5sPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua319KSxTPUIoe2FsbDp1LGRpc3BsYXk6Im5vbmUgIitwLGZvbnRTaXplOiIkdGV4dCAiK3AsY29sb3I6RChPLndlYixSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsIiYgYSI6e2FsbDp1LGZvbnRXZWlnaHQ6ImJvbGQgIitwLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwfSwuLi5lPy53ZWI/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlLC4uLmw/LndlYj8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHMsbyxkKSsiICIrcCwiJiBhIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcixzLG8sZCkrIiAiK3B9LC4uLmU/Lm1vYmlsZT8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmUsLi4ubD8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZX19KSxUPUIoe2FsbDp1LGxpbmVIZWlnaHQ6IjEuM2VtICIrcCxwYWRkaW5nOiIwICIrcCwuLi5lPy53ZWI/LmNhcmQ/LnRleHRzUm93LC4uLmw/LndlYj8uY2FyZD8udGV4dHNSb3csIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRzUm93LC4uLmw/Lm1vYmlsZT8uY2FyZD8udGV4dHNSb3d9fSksTD1CKHthbGw6dSxmb250U2l6ZToiJHRleHQgIitwLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpKyIgIitwLC4uLklbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5sPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5sPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50fX0pLCQ9Qih7YWxsOnUsZm9udFdlaWdodDoiYm9sZCAiK3AsY3Vyc29yOiJwb2ludGVyICIrcCxmb250U2l6ZToiJHRleHQgIitwLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitwLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLCImOmZvY3VzLXZpc2libGUiOnQmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK3Asb3V0bGluZU9mZnNldDoiM3B4ICIrcH0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ubD8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3N9KTtyZXR1cm57Y2FyZENvbnRhaW5lcjpuLGNhcmRDb250ZW50Om0sY2FyZFRleHRDb250YWluZXI6ZixjYXJkVGl0bGVSb3c6aCxjYXJkVGl0bGU6YixjYXJkQWRvcHRMaW5rOmssY2FyZEFkb3B0TGlua0FsdGVybmF0aXZlOlMsY2FyZFdoaXRlTGFiZWxMb2dvOngsY2FyZFRleHRzUm93OlQsY2FyZFRleHRSb3dDb250ZW50OkwsY2FyZFRleHRSb3dMaW5rczpCKHthbGw6dSxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCwiJiBzcGFuI2Fkb3B0LWRpdmlzb3IiOnthbGw6dSxtYXJnaW46IjAgMnB4ICIrcCx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK3B9LCImIHNwYW4iOnthbGw6dSxmb250V2VpZ2h0OiJib2xkICIrcCxmb250U2l6ZToiJHRleHQgIitwLGN1cnNvcjoicG9pbnRlciAiK3AsYm9yZGVyOiJub25lICIrcCxiYWNrZ3JvdW5kOiJub25lICIrcCxtYXJnaW46IjAgIitwLHBhZGRpbmc6IjAgIitwLGxldHRlclNwYWNpbmc6IjAgIitwLHRleHRUcmFuc2Zvcm06Im5vbmUgIitwLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitwLC4uLmU/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmw/LndlYj8uY2FyZD8udGV4dFJvd0xpbmtzfSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5sPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5sPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc30sIiYgc3BhbiI6ey4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmw/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfSwuLi5JLmxlZnQsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4ubD8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9fSksY2FyZFRleHRMaW5rczokLGNhcmRCdXR0b25zQ29udGFpbmVyOkIoe2FsbDp1LGRpc3BsYXk6ImZsZXggIitwLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrcCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitwLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7UXQoRChPLndlYixSLnRleHRDb2xvcixzLG8sZCksLjEpfSBgK3Asd2lkdGg6ImF1dG8gIitwLC4uLnlbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmw/LndlYj8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lciwiQG1vYmlsZSI6e2JvcmRlclRvcDpgMXB4IHNvbGlkICR7UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcixzLG8sZCksLjEpfSBgK3AsZ2FwOiIwICIrcCx3aWR0aDoiMTAwJSAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmw/Lm1vYmlsZT8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lcn0sIiYgYnV0dG9uI2Fkb3B0LXByZWZlcmVuY2VzLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK3AsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK3B9LCImIGJ1dHRvbiNhZG9wdC1yZWplY3QtYWxsLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK3AsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK3B9LCImIGJ1dHRvbiNhZG9wdC1hY2NlcHQtYWxsLWJ1dHRvbiI6e2ZvbnRTaXplOiIkdGV4dCAiK3AsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK3B9fSksY2FyZFJlamVjdEFsbExpbms6Qih7YWxsOnUsLi4udyxmb250U2l6ZToiJHRleHQgIitwLGZvbnRXZWlnaHQ6IjcwMCAiK3AsY29sb3I6RChPLndlYixSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHMsbyxkKSsiICIrcCxib3JkZXI6Im5vbmUgIitwLGJvcmRlclJpZ2h0OmcoKSxib3hTaGFkb3c6Im5vbmUgIitwLHRleHREZWNvcmF0aW9uOiJib3R0b20iPT09cj8uY2FyZHx8InRvcCI9PT1yPy5jYXJkPyJ1bmRlcmxpbmUgIitwOiJub25lICIrcCwuLi5DW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8ucmVqZWN0QWxsTGluaywuLi5sPy53ZWI/LmNhcmQ/LnJlamVjdEFsbExpbmssIiY6Zm9jdXMtdmlzaWJsZSI6dCYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrcCxvdXRsaW5lT2Zmc2V0OiItMTBweCAiK3B9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK3Asd2lkdGg6ImF1dG8gIitwLG9wYWNpdHk6IjAgIitwfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHMsbyxkKSsiICIrcCxib3JkZXJSYWRpdXM6IjAgIitwLGJvcmRlclJpZ2h0OmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHMsbyxkKSwuMSl9IGArcCxoZWlnaHQ6IjQ0cHggIitwLHBhZGRpbmc6IjAgIitwLHRleHREZWNvcmF0aW9uOiJub25lICIrcCwuLi5lPy5tb2JpbGU/LmNhcmQ/LnJlamVjdEFsbExpbmssLi4ubD8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxMaW5rfX0pLGNhcmRSZWplY3RBbGxCdXR0b246Qih7YWxsOnUsLi4udyxmb250U2l6ZToiJHRleHQgIitwLGZvbnRXZWlnaHQ6IjcwMCAiK3AsY29sb3I6RChPLndlYixhP1IuYmdDb2xvcjpSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYm9yZGVyOiFhJiYoImJvdHRvbSI9PT1yPy5jYXJkfHwidG9wIj09PXI/LmNhcmQpP2AxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKX0gYCtwOiJub25lICIrcCxib3JkZXJSaWdodDohYXx8ImxlZnQiIT09cj8uY2FyZCYmInJpZ2h0IiE9PXI/LmNhcmQ/IiI6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpLC4yKX0gYCtwLGJveFNoYWRvdzoibm9uZSAiK3AsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsYT9SLnByaW1hcnlDb2xvcjpSLmJnQ29sb3IscyxvLGQpKyIgIitwLC4uLkNbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4ubD8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sIiY6Zm9jdXMtdmlzaWJsZSI6dCYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrcCxvdXRsaW5lT2Zmc2V0OiItMTBweCAiK3B9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK3Asd2lkdGg6ImF1dG8gIitwLG9wYWNpdHk6IjAgIitwfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxhP1IuYmdDb2xvcjpSLnRleHRDb2xvcixzLG8sZCkrIiAiK3AsYm9yZGVyOiJub25lICIrcCxib3JkZXJSaWdodDphP2AxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSwuMil9IGArcDoiIixoZWlnaHQ6IjQ0cHggIitwLHBhZGRpbmc6IjAgIitwLGJvcmRlclJhZGl1czoiMCAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4ubD8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b259fSksY2FyZFByZWZlcmVuY2VzQnV0dG9uOkIoe2FsbDp1LC4uLncsZm9udFNpemU6IiR0ZXh0ICIrcCxmb250V2VpZ2h0OiI3MDAgIitwLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpKyIgIitwLGJvcmRlclJpZ2h0OmcoKSx0ZXh0RGVjb3JhdGlvbjoiYm90dG9tIj09PXI/LmNhcmR8fCJ0b3AiPT09cj8uY2FyZD8idW5kZXJsaW5lICIrcDoibm9uZSAiK3AsLi4uZT8ud2ViPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwuLi5sPy53ZWI/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLCImOmZvY3VzLXZpc2libGUiOnQmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK3Asb3V0bGluZU9mZnNldDoiLTEwcHggIitwfSwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitwLHdpZHRoOiJhdXRvICIrcCxvcGFjaXR5OiIwICIrcH0sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK3Asd2lkdGg6ImF1dG8gIitwLG9wYWNpdHk6IjAgIitwfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IscyxvLGQpKyIgIitwLGJvcmRlclJhZGl1czoiMCAiK3AsYm9yZGVyUmlnaHQ6YDFweCBzb2xpZCAke1F0KEQoTy5tb2JpbGUsUi50ZXh0Q29sb3IscyxvLGQpLC4xKX0gYCtwLGhlaWdodDoiNDRweCAiK3AscGFkZGluZzoiMCAiK3AsdGV4dERlY29yYXRpb246Im5vbmUgIitwLC4uLmU/Lm1vYmlsZT8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b24sLi4ubD8ubW9iaWxlPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbn19KSxjYXJkQWNjZXB0QWxsQnV0dG9uOkIoe2FsbDp1LC4uLncsZm9udFNpemU6IiR0ZXh0ICIrcCxmb250V2VpZ2h0OiI3MDAgIitwLGNvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHMsbyxkKSsiICIrcCxiYWNrZ3JvdW5kOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IscyxvLGQpKyIgIitwLC4uLkNbcj8uY2FyZF0sLi4udltyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmFjY2VwdEFsbEJ1dHRvbiwuLi5sPy53ZWI/LmNhcmQ/LmFjY2VwdEFsbEJ1dHRvbiwiJjpmb2N1cy12aXNpYmxlIjp0JiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitwLG91dGxpbmVPZmZzZXQ6Ii0xMHB4ICIrcH0sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrcCx3aWR0aDoiYXV0byAiK3Asb3BhY2l0eToiMCAiK3B9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitwLHdpZHRoOiJhdXRvICIrcCxvcGFjaXR5OiIwICIrcH0sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcixzLG8sZCkrIiAiK3AsYmFja2dyb3VuZDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHMsbyxkKSsiICIrcCxib3JkZXJSYWRpdXM6IjAgIitwLGhlaWdodDoiNDRweCAiK3AscGFkZGluZzoiMCAiK3AsLi4uZT8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b24sLi4ubD8ubW9iaWxlPy5jYXJkPy5hY2NlcHRBbGxCdXR0b259fSksY2FyZERldGFpbHNCdXR0b246Qih7YWxsOnUsZm9udFNpemU6IiR0ZXh0ICIrcCxjdXJzb3I6InBvaW50ZXIgIitwLG1hcmdpblRvcDoiNXB4ICIrcCxtYXJnaW5Cb3R0b206IjEwcHggIitwLGRpc3BsYXk6ImZsZXggIitwLGFsaWduSXRlbXM6ImNlbnRlciAiK3AsZ2FwOiI4cHggIitwfSksY2FyZERldGFpbHNXcmFwcGVyOkIoe2FsbDp1LHBhZGRpbmc6IjRweCA4cHggIitwLG1hcmdpblRvcDoiMTBweCAiK3AsbWFyZ2luQm90dG9tOiIxMHB4ICIrcCxib3JkZXJSYWRpdXM6IjNweCAiK3AsYmFja2dyb3VuZE9wYWNpdHk6IjAuMiAiK3AsZGlzcGxheToiZmxleCAiK3AsZ2FwOiI1cHggIitwLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK3AsYmFja2dyb3VuZDpRdChEKE8ud2ViLFIudGV4dENvbG9yLHMsbyxkKSwuMSkrIiAiK3B9KSxjYXJkRGV0YWlsc0l0ZW06Qih7YWxsOnUsZm9udFNpemU6IiR0ZXh0ICIrcCxjdXJzb3I6InBvaW50ZXIgIitwLGRpc3BsYXk6ImJsb2NrICIrcCxwb3NpdGlvbjoicmVsYXRpdmUgIitwLHBhZGRpbmdMZWZ0OiIxMHB4ICIrcCwiJjo6YmVmb3JlIjp7Y29udGVudDonIiIgJytwLGRpc3BsYXk6ImJsb2NrICIrcCx3aWR0aDoiNHB4ICIrcCxoZWlnaHQ6IjRweCAiK3AsYm9yZGVyUmFkaXVzOiI1MCUgIitwLGJhY2tncm91bmQ6RChPLndlYixSLnRleHRDb2xvcixzLG8sZCkscG9zaXRpb246ImFic29sdXRlICIrcCxsZWZ0OiIwcHggIitwLHRvcDoiNTAlICIrcCx0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTUwJSkgIitwfSwiJjpob3ZlciI6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitwfX0pLGNhcmREZXRhaWxzQ2hldnJvbjpCKHthbGw6dSxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi50ZXh0Q29sb3IscyxvLGQpfSBgK3Asd2lkdGg6IjE4cHggIitwLGhlaWdodDoiMThweCAiK3AsYm9yZGVyUmFkaXVzOiI1MCUgIitwLGRpc3BsYXk6ImZsZXggIitwLGFsaWduSXRlbXM6ImNlbnRlciAiK3AsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciAiK3B9KX19LHNpPShlLHQpPT57dmFye2NvbG9yczpvLHBvc2l0aW9uOnIsZGlzY2xhaW1lck9wdGlvbnM6aX09ZSx7c3R5bGVzOmUsaGFzSW1wb3J0YW50Om59PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczphLGhhc0ltcG9ydGFudDpzLGNvbG9yczpsfT10O2xldCBjPXZvaWQgMD09PXN8fHM/dm9pZCAwPT09bnx8bj8iIWltcG9ydGFudCI6IiI6IiI7dmFyIHM9aT8uYWNjZXNzaWJpbGl0eSxuPWk/LmRpc2NsYWltZXJDYXJkU2hhZG93LGk9IiFpbXBvcnRhbnQiPT09Yz8idW5zZXQgIWltcG9ydGFudCI6IiIsZD17Ym90dG9tOntsZWZ0OiIwICIrY30sdG9wOntib3R0b206ImF1dG8gIitjLGxlZnQ6IjAgIitjLHRvcDoiMCAiK2N9LGxlZnQ6e2JvdHRvbToiNzVweCAiK2MsbGVmdDoiNzVweCAiK2MsYm9yZGVyUmFkaXVzOiIyMHB4ICIrYyx3aWR0aDoibWluLWNvbnRlbnQgIitjfSxyaWdodDp7Ym90dG9tOiI3NXB4ICIrYyxyaWdodDoiNzVweCAiK2MsbGVmdDoiYXV0byAiK2MsYm9yZGVyUmFkaXVzOiIyMHB4ICIrYyx3aWR0aDoibWluLWNvbnRlbnQgIitjfSxjZW50ZXI6e21heFdpZHRoOiIzNTBweCAiK2Msd2lkdGg6ImNhbGMoMTAwdncgLSA0MHB4KSAiK2MsbWFyZ2luTGVmdDoiYXV0byAiK2MsbWFyZ2luUmlnaHQ6ImF1dG8gIitjLGxlZnQ6IjAgIitjLHJpZ2h0OiIwICIrYyxib3JkZXJSYWRpdXM6IjE1cHggIitjLHBvc2l0aW9uOiJmaXhlZCAiK2MsZmxleFdyYXA6IndyYXAgIitjfX0scD17bGVmdDp7ZmxleFdyYXA6IndyYXAgIitjfSxyaWdodDp7ZmxleFdyYXA6IndyYXAgIitjfSxjZW50ZXI6e2ZsZXhXcmFwOiJ3cmFwICIrY319LHU9e2xlZnQ6e3BhZGRpbmc6IjIwcHggIitjfSxyaWdodDp7cGFkZGluZzoiMjBweCAiK2N9LGJvdHRvbTp7ZGlzcGxheToiZmxleCAiK2MsZmxleERpcmVjdGlvbjoicm93ICIrYyxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2MsZ2FwOiI0NHB4ICIrYyxwYWRkaW5nOiIzMHB4IDExNXB4ICIrY30sdG9wOntkaXNwbGF5OiJmbGV4ICIrYyxmbGV4RGlyZWN0aW9uOiJyb3cgIitjLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrYyxnYXA6IjQ0cHggIitjLHBhZGRpbmc6IjMwcHggMTE1cHggIitjfSxjZW50ZXI6e2Rpc3BsYXk6ImJsb2NrICIrYyxwYWRkaW5nOiIzMHB4IDE1cHggIitjfSx0YWJsZXQ6e2ZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2MscGFkZGluZzoiMzBweCAxNXB4ICIrYyxnYXA6IjMwcHggIitjLGFsaWduSXRlbXM6ImVuZCAiK2N9fSxnPXt0b3A6e3BhZGRpbmdSaWdodDoiMjBweCAiK2N9LGJvdHRvbTp7cGFkZGluZ1JpZ2h0OiIyMHB4ICIrY319LG09e2JvdHRvbTp7Z2FwOiIzMHB4ICIrY30sdG9wOntnYXA6IjMwcHggIitjfSxsZWZ0OnttYXJnaW5Ub3A6IjIycHggIitjLHdpZHRoOiIxMDAlICIrYyxnYXA6IjMwcHggIitjfSxyaWdodDp7bWFyZ2luVG9wOiIyMnB4ICIrYyx3aWR0aDoiMTAwJSAiK2MsZ2FwOiIzMHB4ICIrY30sY2VudGVyOntncmlkVGVtcGxhdGVBcmVhczonInJlamVjdCIgInByZWZlcmVuY2UiICJhY2NlcHQiICAnK2MsZ2FwOiIyMHB4ICIrYyx3aWR0aDoiMTAwJSAiK2MsbWFyZ2luVG9wOiIxMHB4ICIrY319LGY9e2N1cnNvcjoicG9pbnRlciAiK2MsdGV4dERlY29yYXRpb246Im5vbmUgIitjLGZvbnRXZWlnaHQ6IjMwMCAiK2MsZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIwcHggIitjLHRleHRBbGlnbjoiY2VudGVyICIrYyxwYWRkaW5nOiIxMHB4IDE1cHggIitjLGJvcmRlclJhZGl1czoiM3B4ICIrYyxiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCAiK2MsdHJhbnNpdGlvbjoiYWxsIDAuMnMgZWFzZS1pbi1vdXQgIitjfSxoPXt0b3A6e3doaXRlU3BhY2U6Im5vd3JhcCAiK2N9LGJvdHRvbTp7d2hpdGVTcGFjZToibm93cmFwICIrY319LGI9e3RvcDp7bGVmdDoiMTg1cHggIitjLHRvcDoiMjBweCAiK2N9LGJvdHRvbTp7bGVmdDoiMTg1cHggIitjLHRvcDoiMjBweCAiK2N9fSx4PXtsZWZ0OntkaXNwbGF5OiJibG9jayAiK2N9LHJpZ2h0OntkaXNwbGF5OiJibG9jayAiK2N9fSxuPUIoe292ZXJmbG93OiJoaWRkZW4gIitjLHdpZHRoOiIxMDB2dyAiK2MscG9zaXRpb246ImZpeGVkICIrYyxib3R0b206IjAgIitjLHVzZXJTZWxlY3Q6Im5vbmUgIitjLHpJbmRleDoiOTk5OTk5OTk5MCAiK2MsYm94U2l6aW5nOiJib3JkZXItYm94ICIrYyxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrYyxiYWNrZ3JvdW5kOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxsKSsiICIrYyxib3hTaGFkb3c6bj8iMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpICIrYzoibm9uZSAiK2MsLi4uZFtyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmNvbnRhaW5lciwuLi5hPy53ZWI/LmNhcmQ/LmNvbnRhaW5lciwiQG1vYmlsZSI6e2JhY2tncm91bmQ6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGwpKyIgIitjLC4uLmU/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyLC4uLmE/Lm1vYmlsZT8uY2FyZD8uY29udGFpbmVyfX0pLGQ9Qih7YWxsOmksZGlzcGxheToiYmxvY2sgIitjLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2MsaGVpZ2h0OiIxMDAlICIrYyx3aWR0aDoiMTAwJSAiK2MsYWxpZ25JdGVtczoiY2VudGVyICIrYywuLi51W3I/LmNhcmRdLC4uLnBbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5jb250ZW50LC4uLmE/LndlYj8uY2FyZD8uY29udGVudCwiQG1vYmlsZSI6ey4uLnUuY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8uY29udGVudCwuLi5hPy5tb2JpbGU/LmNhcmQ/LmNvbnRlbnR9LCJAdGFibGV0Ijp7Li4udS50YWJsZXR9fSkscD1CKHthbGw6aSxib3hTaXppbmc6ImJvcmRlci1ib3ggIitjLHRleHRBbGlnbjoibGVmdCAiK2MsbGluZUhlaWdodDoiJHRpdGxlICIrYywuLi5lPy53ZWI/LmNhcmQ/LnRleHRDb250YWluZXIsLi4uYT8ud2ViPy5jYXJkPy50ZXh0Q29udGFpbmVyLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Q29udGFpbmVyLC4uLmE/Lm1vYmlsZT8uY2FyZD8udGV4dENvbnRhaW5lcn19KSx1PUIoe2FsbDppLGRpc3BsYXk6ImZsZXggIitjLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuICIrYyxhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0ICIrYyxtYXhXaWR0aDoiMzAwcHggIitjLG1hcmdpbjoiMCAwIDEwcHggIitjLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYywiJiBkaXYiOntkaXNwbGF5OiJmbGV4ICIrY30sLi4uZ1tyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LnRpdGxlUm93LC4uLmE/LndlYj8uY2FyZD8udGl0bGVSb3csIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRpdGxlUm93LC4uLmE/Lm1vYmlsZT8uY2FyZD8udGl0bGVSb3d9fSksZz1CKHthbGw6aSxtYXJnaW46IjAgIitjLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYyxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5lPy53ZWI/LmNhcmQ/LnRpdGxlLC4uLmE/LndlYj8uY2FyZD8udGl0bGUsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnRpdGxlLC4uLmE/Lm1vYmlsZT8uY2FyZD8udGl0bGV9fSkseT1CKHsiJiBzdmciOnthbGw6aSx3aWR0aDoiMjBweCAiK2MsaGVpZ2h0OiIyMHB4ICIrYyxmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/LndlYj8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4uYT8ud2ViPy5jYXJkPy53aGl0ZUxhYmVsTG9nb30sIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/Lm1vYmlsZT8uY2FyZD8ud2hpdGVMYWJlbExvZ28sLi4uYT8ubW9iaWxlPy5jYXJkPy53aGl0ZUxhYmVsTG9nb319fSksYj1CKHthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitjLHRleHREZWNvcmF0aW9uOiJub25lICIrYyxmb250U2l6ZToiMTZweCAiK2MsbGluZUhlaWdodDoiMjFweCAiK2MsZm9udFdlaWdodDoiNDAwcHggIitjLHdpZHRoOiI1MHB4ICIrYyx0ZXh0QWxpZ246ImxlZnQgIitjLHdoaXRlU3BhY2U6Im5vd3JhcCAiK2MsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uYltyPy5jYXJkXSwuLi5lPy53ZWI/LmNhcmQ/LmFkb3B0TGluaywuLi5hPy53ZWI/LmNhcmQ/LmFkb3B0TGluaywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmssLi4uYT8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmt9fSksdz1CKHthbGw6aSxkaXNwbGF5OiJub25lICIrYyxmb250U2l6ZToiMTZweCAiK2MsbGluZUhlaWdodDoiMjFweCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsIiYgYSI6e2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2MsZm9udFdlaWdodDoiYm9sZCAiK2MsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2N9LC4uLmU/LndlYj8uY2FyZD8uYWRvcHRMaW5rQWx0ZXJuYXRpdmUsLi4uYT8ud2ViPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLCImIGEiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrY30sLi4uZT8ubW9iaWxlPy5jYXJkPy5hZG9wdExpbmtBbHRlcm5hdGl2ZSwuLi5hPy5tb2JpbGU/LmNhcmQ/LmFkb3B0TGlua0FsdGVybmF0aXZlfX0pLEM9Qih7YWxsOmksLi4uZT8ud2ViPy5jYXJkPy50ZXh0c1JvdywuLi5hPy53ZWI/LmNhcmQ/LnRleHRzUm93LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0c1JvdywuLi5hPy5tb2JpbGU/LmNhcmQ/LnRleHRzUm93fX0pLHY9Qih7YWxsOmksZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLC4uLnhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5hPy53ZWI/LmNhcmQ/LnRleHRSb3dDb250ZW50LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93Q29udGVudCwuLi5hPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dDb250ZW50fX0pLGs9Qih7YWxsOmksZm9udFNpemU6IjE2cHggIitjLGxpbmVIZWlnaHQ6IjIxcHggIitjLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitjLGN1cnNvcjoicG9pbnRlciAiK2MsZm9udFdlaWdodDoiYm9sZCAiK2MsY29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5hPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rc30pO3JldHVybntjYXJkQ29udGFpbmVyOm4sY2FyZENvbnRlbnQ6ZCxjYXJkVGV4dENvbnRhaW5lcjpwLGNhcmRUaXRsZVJvdzp1LGNhcmRUaXRsZTpnLGNhcmRBZG9wdExpbms6YixjYXJkQWRvcHRMaW5rQWx0ZXJuYXRpdmU6dyxjYXJkV2hpdGVMYWJlbExvZ286eSxjYXJkVGV4dHNSb3c6QyxjYXJkVGV4dFJvd0NvbnRlbnQ6dixjYXJkVGV4dFJvd0xpbmtzOkIoe2FsbDppLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYyxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJiBzcGFuI2Fkb3B0LWRpdmlzb3IiOnthbGw6aSxtYXJnaW46IjAgMnB4ICIrYyx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK2N9LCImIHNwYW4iOnthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitjLGZvbnRXZWlnaHQ6ImJvbGQgIitjLGZvbnRTaXplOiIxNnB4ICIrYyxsaW5lSGVpZ2h0OiIyMXB4ICIrYyx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrYywuLi5lPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5hPy53ZWI/LmNhcmQ/LnRleHRSb3dMaW5rc30sLi4uZT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsLi4uYT8ud2ViPy5jYXJkPy50ZXh0Um93TGlua3MsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJiBhIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3MsLi4uYT8ubW9iaWxlPy5jYXJkPy50ZXh0Um93TGlua3N9LCImIHNwYW4iOnsuLi5lPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rcywuLi5hPy5tb2JpbGU/LmNhcmQ/LnRleHRSb3dMaW5rc30sLi4ueC5sZWZ0LC4uLmU/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzLC4uLmE/Lm1vYmlsZT8uY2FyZD8udGV4dFJvd0xpbmtzfX0pLGNhcmRUZXh0TGlua3M6ayxjYXJkQnV0dG9uc0NvbnRhaW5lcjpCKHthbGw6aSxkaXNwbGF5OiJncmlkICIrYyxncmlkVGVtcGxhdGVBcmVhczonInJlamVjdCBwcmVmZXJlbmNlIGFjY2VwdCIgJytjLC4uLm1bcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmE/LndlYj8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lciwiQG1vYmlsZSI6ey4uLm0uY2VudGVyLC4uLmU/Lm1vYmlsZT8uY2FyZD8uYnV0dG9uc0NvbnRhaW5lciwuLi5hPy5tb2JpbGU/LmNhcmQ/LmJ1dHRvbnNDb250YWluZXJ9LCJAc20iOntnYXA6IjZweCAiK2N9LCJAbWQiOntnYXA6IjEwcHggIitjfSwiJiBidXR0b24jYWRvcHQtcHJlZmVyZW5jZXMtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrYyxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrY30sIiYgYnV0dG9uI2Fkb3B0LXJlamVjdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrYyxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrY30sIiYgYnV0dG9uI2Fkb3B0LWFjY2VwdC1hbGwtYnV0dG9uIjp7Zm9udFNpemU6IiR0ZXh0ICIrYyxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrY319KSxjYXJkUmVqZWN0QWxsTGluazpCKHthbGw6aSwuLi5mLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLndlYixSLnRleHRDb2xvcix0LG8sbCl9IGArYywuLi5oW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8ucmVqZWN0QWxsTGluaywuLi5hPy53ZWI/LmNhcmQ/LnJlamVjdEFsbExpbmssZ3JpZEFyZWE6InJlamVjdCAiK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwiJjpob3ZlciI6e2NvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrY30sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxMaW5rLC4uLmE/Lm1vYmlsZT8uY2FyZD8ucmVqZWN0QWxsTGlua319KSxjYXJkUmVqZWN0QWxsQnV0dG9uOkIoe2FsbDppLC4uLmYsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLC4uLmhbcj8uY2FyZF0sLi4uZT8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4uYT8ud2ViPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sZ3JpZEFyZWE6InJlamVjdCAiK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwiJjpob3ZlciI6e2NvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrY30sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpfSBgK2MsLi4uZT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b24sLi4uYT8ubW9iaWxlPy5jYXJkPy5yZWplY3RBbGxCdXR0b259fSksY2FyZFByZWZlcmVuY2VzQnV0dG9uOkIoe2FsbDppLC4uLmYsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY30sIiY6aG92ZXIiOntjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2N9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LGdyaWRBcmVhOiJwcmVmZXJlbmNlICIrYywuLi5oW3I/LmNhcmRdLC4uLmU/LndlYj8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b24sLi4uYT8ud2ViPy5jYXJkPy5wcmVmZXJlbmNlc0J1dHRvbiwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCl9IGArYywuLi5lPy5tb2JpbGU/LmNhcmQ/LnByZWZlcmVuY2VzQnV0dG9uLC4uLmE/Lm1vYmlsZT8uY2FyZD8ucHJlZmVyZW5jZXNCdXR0b259fSksY2FyZEFjY2VwdEFsbEJ1dHRvbjpCKHthbGw6aSwuLi5mLGJvcmRlcjoiMXB4IHNvbGlkIHRyYW5zcGFyZW50ICIrYyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYyxiYWNrZ3JvdW5kOkp0KCJib3R0b20iLEQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKSsiICIrYywuLi5oW3I/LmNhcmRdLGdyaWRBcmVhOiJhY2NlcHQgIitjLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY30sIiY6aG92ZXIiOntmaWx0ZXI6ImJyaWdodG5lc3MoMC44KSAiK2N9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LC4uLmU/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLC4uLmE/LndlYj8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/Lm1vYmlsZT8uY2FyZD8uYWNjZXB0QWxsQnV0dG9uLC4uLmE/Lm1vYmlsZT8uY2FyZD8uYWNjZXB0QWxsQnV0dG9ufX0pLGNhcmREZXRhaWxzQnV0dG9uOkIoe2FsbDppLGZvbnRTaXplOiIkdGV4dCAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxtYXJnaW5Ub3A6IjVweCAiK2MsbWFyZ2luQm90dG9tOiIxMHB4ICIrYyxkaXNwbGF5OiJmbGV4ICIrYyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitjLGdhcDoiOHB4ICIrY30pLGNhcmREZXRhaWxzV3JhcHBlcjpCKHthbGw6aSxwYWRkaW5nOiI0cHggOHB4ICIrYyxtYXJnaW5Ub3A6IjEwcHggIitjLG1hcmdpbkJvdHRvbToiMTBweCAiK2MsYm9yZGVyUmFkaXVzOiIzcHggIitjLGJhY2tncm91bmRPcGFjaXR5OiIwLjIgIitjLGRpc3BsYXk6ImZsZXggIitjLGdhcDoiNXB4ICIrYyxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitjLGJhY2tncm91bmQ6UXQoRChPLndlYixSLnRleHRDb2xvcix0LG8sbCksLjEpKyIgIitjfSksY2FyZERldGFpbHNJdGVtOkIoe2FsbDppLGZvbnRTaXplOiIkdGV4dCAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxkaXNwbGF5OiJibG9jayAiK2MscG9zaXRpb246InJlbGF0aXZlICIrYyxwYWRkaW5nTGVmdDoiMTBweCAiK2MsIiY6OmJlZm9yZSI6e2NvbnRlbnQ6JyIiICcrYyxkaXNwbGF5OiJibG9jayAiK2Msd2lkdGg6IjRweCAiK2MsaGVpZ2h0OiI0cHggIitjLGJvcmRlclJhZGl1czoiNTAlICIrYyxiYWNrZ3JvdW5kOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpLHBvc2l0aW9uOiJhYnNvbHV0ZSAiK2MsbGVmdDoiMHB4ICIrYyx0b3A6IjUwJSAiK2MsdHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC01MCUpICIrY30sIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrY319KSxjYXJkRGV0YWlsc0NoZXZyb246Qih7YWxsOmksYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLHdpZHRoOiIxOHB4ICIrYyxoZWlnaHQ6IjE4cHggIitjLGJvcmRlclJhZGl1czoiNTAlICIrYyxkaXNwbGF5OiJmbGV4ICIrYyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitjLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitjfSl9fSxsaT17dW5pdE9mVGltZTp7eWVhcjoi0LPQvtC00LjQvdCwIix5ZWFyczoi0LPQvtC00LjQvdC4Iixob3VyOiLRh9Cw0YEiLGhvdXJzOiLRh9Cw0YHQsCIsZGF5OiLQtNC10L0iLGRheXM6ItC00L3QuCIsbWludXRlOiLQvNC40L3Rg9GC0LAiLG1pbnV0ZXM6ItC80LjQvdGD0YLQuCIsc2Vjb25kOiLQstGC0L7RgNC+IixzZWNvbmRzOiLRgdC10LrRg9C90LTQuCIsbW91bnRoOiLQvNC10YHQtdGGIixtb3VudGhzOiLQvNC10YHQtdGG0LAifSxzZXNzaW9uOiLQodC10YHQuNGPIixjbGVhbkNvb2tpZToi0KnRgNCw0LrQvdC10YLQtSDRgtGD0LosINC30LAg0LTQsCDQvdCw0YPRh9C40YLQtSDQutCw0Log0LTQsCDQuNC30YfQuNGB0YLQuNGC0LUg0LHQuNGB0LrQstC40YLQutC40YLQtSDQuCDQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L3QsCBMb2NhbFN0b3JhZ2Ug0L3QsCDQstCw0YjQuNGPINCx0YDQsNGD0LfRitGAIixkZXZlbG9wZWRCeToi0YDQsNC30YDQsNCx0L7RgtC10L0g0L7RgiIsaWxsdXN0cmF0aW9uczoi0JjQu9GO0YHRgtGA0LDRhtC40LgifSxjaT17dW5pdE9mVGltZTp7aG91cjoiaG9kaW5hIixob3VyczoiaG9kaW4iLHllYXI6InJvayIseWVhcnM6ImxldCIsZGF5OiJkZW4iLGRheXM6ImRuw60iLG1pbnV0ZToibWludXRhIixtaW51dGVzOiJtaW51dCIsc2Vjb25kOiJkcnVow70iLHNlY29uZHM6InNla3VuZHkiLG1vdW50aDoiTcSbc8OtYyIsbW91bnRoczoibcSbc8OtY2UifSxzZXNzaW9uOiJaYXNlZMOhbsOtIixjbGVhbkNvb2tpZToiS2xpa251dMOtbSBzZW0gc2UgZG96dsOtdGUsIGphayB2eW1hemF0IHNvdWJvcnkgY29va2llIGEgaW5mb3JtYWNlIExvY2FsU3RvcmFnZSB2YcWhZWhvIHByb2hsw63FvmXEjWUiLGRldmVsb3BlZEJ5OiJ2eXZpbnV0w70gc3BvbGXEjW5vc3TDrSIsaWxsdXN0cmF0aW9uczoiSWx1c3RyYWNlIn0sZGk9e3VuaXRPZlRpbWU6e2hvdXI6InRpbWUiLGhvdXJzOiJ0aW1lciIseWVhcjoiw6VyIix5ZWFyczoiZmxlcmUgw6VyIixkYXk6ImRhZyIsZGF5czoiZGFnZSIsbWludXRlOiJtaW51dCIsbWludXRlczoibWludXR0ZXIiLHNlY29uZDoic2VrdW5kIixzZWNvbmRzOiJzZWt1bmRlciIsbW91bnRoOiJtw6VuZWQiLG1vdW50aHM6Im3DpW5lZGVyIn0sc2Vzc2lvbjoiU2Vzc2lvbiIsY2xlYW5Db29raWU6IktsaWsgaGVyIGZvciBhdCBsw6ZyZSwgaHZvcmRhbiBkdSByeWRkZXIgZGluIGJyb3dzZXJzIExvY2FsU3RvcmFnZS1jb29raWVzIG9nIG9wbHlzbmluZ2VyIixkZXZlbG9wZWRCeToidWR2aWtsZXQgYWYiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdGlvbmVyIn0scGk9e3VuaXRPZlRpbWU6e2hvdXI6IlN0dW5kZSIsaG91cnM6IlN0ZC4iLHllYXI6IkphaHIiLHllYXJzOiJKYWhyZSIsZGF5OiJUYWciLGRheXM6IlRhZ2UiLG1pbnV0ZToiTWludXRlIixtaW51dGVzOiJNaW51dGVuIixzZWNvbmQ6IlNla3VuZGUiLHNlY29uZHM6IlNla3VuZGVuIixtb3VudGg6Ik1vbmF0Iixtb3VudGhzOiJNb25hdGUifSxzZXNzaW9uOiJTaXR6dW5nIixjbGVhbkNvb2tpZToiS2xpY2tlbiBTaWUgaGllciwgdW0genUgZXJmYWhyZW4sIHdpZSBTaWUgZGllIExvY2FsU3RvcmFnZS1Db29raWVzIHVuZCAtSW5mb3JtYXRpb25lbiBJaHJlcyBCcm93c2VycyBsw7ZzY2hlbiIsZGV2ZWxvcGVkQnk6ImVudHdpY2tlbHQgdm9uIixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXRpb25lbiJ9LHVpPXt1bml0T2ZUaW1lOntob3VyOiLPjs+BzrEiLGhvdXJzOiLPjs+BzrXPgiIseWVhcjoizq3PhM6/z4IiLHllYXJzOiLPh8+Bz4zOvc65zrEiLGRheToizrfOvM6tz4HOsSIsZGF5czoizrfOvM6tz4HOtc+CIixtaW51dGU6Is67zrXPgM+Ez4wiLG1pbnV0ZXM6Is67zrXPgM+EzqwiLHNlY29uZDoizrTOtc+Nz4TOtc+Bzr/PgiIsc2Vjb25kczoizrTOtc+Fz4TOtc+Bz4zOu861z4DPhM6xIixtb3VudGg6Is68zq7Ovc6xz4IiLG1vdW50aHM6Is68zq7Ovc61z4IifSxzZXNzaW9uOiJTZXNzaW9uIixjbGVhbkNvb2tpZToizprOrM69z4TOtSDOus67zrnOuiDOtc60z44gzrPOuc6xIM69zrEgzrzOrM64zrXPhM61IM+Az47PgiDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM+EzrEgY29va2llIM66zrHOuSDPhM65z4Igz4DOu863z4HOv8+Gzr/Pgc6vzrXPgiBMb2NhbFN0b3JhZ2Ugz4TOv8+FIM+Az4HOv86zz4HOrM68zrzOsc+Ezr/PgiDPgM61z4HOuc6uzrPOt8+Dzq7PgiDPg86xz4IiLGRldmVsb3BlZEJ5OiLPgM6/z4UgzrHOvc6xz4DPhM+Nz4fOuM63zrrOtSDOsc+Az4wgz4TOt869IixpbGx1c3RyYXRpb25zOiLOlc65zrrOv869zr/Os8+BzrHPhs6uz4POtc65z4IifSxnaT17dW5pdE9mVGltZTp7aG91cjoiaG91ciIsaG91cnM6ImhvdXJzIix5ZWFyOiJ5ZWFyIix5ZWFyczoieWVhcnMiLGRheToiZGF5IixkYXlzOiJkYXlzIixtaW51dGU6Im1pbnV0ZSIsbWludXRlczoibWludXRlcyIsc2Vjb25kOiJzZWNvbmQiLHNlY29uZHM6InNlY29uZHMiLG1vdW50aDoibW9udGgiLG1vdW50aHM6Im1vbnRocyJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiJDbGljayBoZXJlIHRvIGxlYXJuIGhvdyB0byBibG9jayBvciBkZWxldGUgY29va2llcyB1c2luZyB5b3VyIEludGVybmV0IGJyb3dzZXIgc2V0dGluZ3MiLGRldmVsb3BlZEJ5OiJEZXZlbG9wZWQgYnkiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdGlvbnMifSxtaT17dW5pdE9mVGltZTp7aG91cjoiaG9yYSIsaG91cnM6ImhvcmFzIix5ZWFyOiJhw7FvIix5ZWFyczoiYcOxb3MiLGRheToiZMOtYSIsZGF5czoiZMOtYXMiLG1pbnV0ZToibWludXRvIixtaW51dGVzOiJtaW51dG9zIixzZWNvbmQ6InNlZ3VuZG8iLHNlY29uZHM6InNlZ3VuZG9zIixtb3VudGg6Im1lcyIsbW91bnRoczoibWVzZXMifSxzZXNzaW9uOiJTZXNpw7NuIixjbGVhbkNvb2tpZToiSGFnYSBjbGljIGFxdcOtIHBhcmEgc2FiZXIgY8OzbW8gYm9ycmFyIGxhIGluZm9ybWFjacOzbiB5IGxhcyBjb29raWVzIGRlIExvY2FsU3RvcmFnZSBkZSBzdSBuYXZlZ2Fkb3IiLGRldmVsb3BlZEJ5OiJEZXNhcnJvbGxhZG8gcG9yIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhY2lvbmVzIn0sZmk9e3VuaXRPZlRpbWU6e2hvdXI6InR1bmQiLGhvdXJzOiJ0dW5kaSIseWVhcjoiYWFzdGEiLHllYXJzOiJhYXN0YWQiLGRheToicMOkZXYiLGRheXM6ImRheXMiLG1pbnV0ZToibWludXQiLG1pbnV0ZXM6Im1pbnV0aWQiLHNlY29uZDoidGVpbmUiLHNlY29uZHM6InNla3VuZGl0Iixtb3VudGg6Imt1dSIsbW91bnRoczoia3V1ZCJ9LHNlc3Npb246InNlYW5zcyIsY2xlYW5Db29raWU6Iktsw7Vwc2FrZSBzaWluLCBldCBzYWFkYSB0ZWF2ZXQgc2VsbGUga29odGEsIGt1aWRhcyBrdXN0dXRhZGEgb21hIGJyYXVzZXJpIExvY2FsU3RvcmFnZSdpIGvDvHBzaXNlZCBqYSB0ZWF2ZSIsZGV2ZWxvcGVkQnk6IlbDpGxqYSB0w7bDtnRhdHVkIixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXRzaW9vbmlkIn0saGk9e3VuaXRPZlRpbWU6e2hvdXI6InR1bm5pbiIsaG91cnM6InR1bnRpYSIseWVhcjoidnVvc2kiLHllYXJzOiJ5ZWFycyIsZGF5OiJww6RpdsOkIixkYXlzOiJkYXlzIixtaW51dGU6Im1pbnV1dHRpIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6InRvaW5lbiIsc2Vjb25kczoic2VrdW50aWEiLG1vdW50aDoia3V1a2F1c2kiLG1vdW50aHM6Imt1dWthdXNpYSJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiJOYXBzYXV0YSB0w6R0w6Qgc2FhZGFrc2VzaSBsaXPDpHRpZXRvamEgc2VsYWltZXNpIExvY2FsU3RvcmFnZS1ldsOkc3RlaWRlbiBqYSAtdGlldG9qZW4gcG9pc3RhbWlzZXN0YSIsZGV2ZWxvcGVkQnk6IktlaGl0dMOkasOkIixpbGx1c3RyYXRpb25zOiJLdXZpdHVrc2V0In0sYmk9e3VuaXRPZlRpbWU6e2hvdXI6ImhldXJlIixob3VyczoiaGV1cmVzIix5ZWFyOiJhbm7DqWUiLHllYXJzOiJhbm7DqWVzIixkYXk6ImpvdXIiLGRheXM6ImpvdXJzIixtaW51dGU6Im1pbnV0ZSIsbWludXRlczoibWludXRlcyIsc2Vjb25kOiJkZXV4acOobWUiLHNlY29uZHM6InNlY29uZGVzIixtb3VudGg6Im1vaXMiLG1vdW50aHM6Im1vaXMifSxzZXNzaW9uOiJTZXNzaW9uIixjbGVhbkNvb2tpZToiQ2xpcXVleiBpY2kgcG91ciBzYXZvaXIgY29tbWVudCBlZmZhY2VyIGxlcyBjb29raWVzIGV0IGluZm9ybWF0aW9ucyBMb2NhbFN0b3JhZ2UgZGUgdm90cmUgbmF2aWdhdGV1ciIsZGV2ZWxvcGVkQnk6IkTDqXZlbG9wcMOpIHBhciIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF0aW9ucyJ9LHhpPXt1bml0T2ZUaW1lOntob3VyOiJ1YWlyIixob3VyczoidWFpciBhbiBjaGxvaWciLHllYXI6ImJsaWFpbiIseWVhcnM6ImJsaWFudGEiLGRheToibMOhIixkYXlzOiJsYWV0aGFudGEiLG1pbnV0ZToibsOzaW3DqWFkIixtaW51dGVzOiJuw7NpbcOpYWQiLHNlY29uZDoiZGFyYSIsc2Vjb25kczoic29pY2luZMOtIixtb3VudGg6Im3DrSIsbW91bnRoczoibcOtb25uYSJ9LHNlc3Npb246IlNlaXNpw7puIixjbGVhbkNvb2tpZToiQ2xpY2XDoWlsIGFuc2VvIGNodW4gZm9naGxhaW0gY29uYXMgZmlhbsOhaW4gYWd1cyBmYWlzbsOpaXMgTG9jYWxTdG9yYWdlIGRvIGJocmFiaHPDoWxhw60gYSBnaGxhbmFkaCIsZGV2ZWxvcGVkQnk6IkFybmEgZmhvcmJhaXJ0IGFnIixpbGx1c3RyYXRpb25zOiLDjW9taMOhbm5hIn0seWk9e3VuaXRPZlRpbWU6e2hvdXI6InNhdCIsaG91cnM6InNhdGkiLHllYXI6ImdvZGluYSIseWVhcnM6ImdvZGluZSIsZGF5OiJkYW4iLGRheXM6ImRhbmkiLG1pbnV0ZToibWludXRhIixtaW51dGVzOiJtaW51dGUiLHNlY29uZDoiZHJ1Z2kiLHNlY29uZHM6InNla3VuZGUiLG1vdW50aDoibWplc2VjIixtb3VudGhzOiJtamVzZWNpIn0sc2Vzc2lvbjoiU2VzaWphIixjbGVhbkNvb2tpZToiS2xpa25pdGUgb3ZkamUgZGEgYmlzdGUgc2F6bmFsaSBrYWtvIGl6YnJpc2F0aSBrb2xhxI1pxIdlIGkgaW5mb3JtYWNpamUgTG9jYWxTdG9yYWdlIHZhxaFlZyBwcmVnbGVkbmlrYSIsZGV2ZWxvcGVkQnk6IlJhenZpbyIsaWxsdXN0cmF0aW9uczoiSWxsdXN6dHLDoWNpw7NrIn0sd2k9e3VuaXRPZlRpbWU6e2hvdXI6IsOzcmEiLGhvdXJzOiLDs3LDoWsiLHllYXI6IsOpdiIseWVhcnM6InllYXJzIixkYXk6Im5hcCIsZGF5czoiZGF5cyIsbWludXRlOiJwZXJjIixtaW51dGVzOiJwZXJjIixzZWNvbmQ6Im3DoXNvZGlrIixzZWNvbmRzOiJtw6Fzb2RwZXJjIixtb3VudGg6ImjDs25hcCIsbW91bnRoczoiaMOzbmFwb2sifSxzZXNzaW9uOiJTZXNzaW9uIixjbGVhbkNvb2tpZToiSWRlIGthdHRpbnR2YSBtZWd0dWRoYXRqYSwgaG9neWFuIHTDtnLDtmxoZXRpIGLDtm5nw6lzesWRamUgTG9jYWxTdG9yYWdlIGNvb2tpZS1qYWl0IMOpcyBhZGF0YWl0IixkZXZlbG9wZWRCeToiRmVqbGVzenTFkWplOiIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF6aW9uaSJ9LENpPXt1bml0T2ZUaW1lOntob3VyOiJvcmEiLGhvdXJzOiJvcmUiLHllYXI6ImFubm8iLHllYXJzOiJhbm5pIixkYXk6Imdpb3JubyIsZGF5czoiZ2lvcm5pIixtaW51dGU6Im1pbnV0byIsbWludXRlczoibWludXRpIixzZWNvbmQ6InNlY29uZG8iLHNlY29uZHM6InNlY29uZGkiLG1vdW50aDoibWVzZSIsbW91bnRoczoibWVzaSJ9LHNlc3Npb246InNlc3Npb25lIixjbGVhbkNvb2tpZToiRmFyZSBjbGljIHF1aSBwZXIgc2FwZXJlIGNvbWUgY2FuY2VsbGFyZSBpIGNvb2tpZSBlIGxlIGluZm9ybWF6aW9uaSBkaSBMb2NhbFN0b3JhZ2UgZGVsIGJyb3dzZXIiLGRldmVsb3BlZEJ5OiJTdmlsdXBwYXRvIGRhIixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYWNpam9zIn0sdmk9e3VuaXRPZlRpbWU6e2hvdXI6InZhbGFuZMSFIixob3VyczoidmFsYW5kxbMiLHllYXI6InllYXIiLHllYXJzOiJtZXRhaSIsZGF5OiJkaWVuYSIsZGF5czoiZGllbm9zIixtaW51dGU6Im1pbnV0ZSIsbWludXRlczoibWludXRlcyIsc2Vjb25kOiJhbnRyYXNpcyIsc2Vjb25kczoic2VrdW5kxJdzIixtb3VudGg6Im3El251byIsbW91bnRoczoibcSXbmVzaWFpIn0sc2Vzc2lvbjoiU2VzaWphIixjbGVhbkNvb2tpZToiU3B1c3RlbMSXa2l0ZSDEjWlhLCBrYWQgc3XFvmlub3R1bcSXdGUsIGthaXAgacWhdmFseXRpIG5hcsWheWtsxJdzIExvY2FsU3RvcmFnZSBzbGFwdWt1cyBpciBpbmZvcm1hY2lqxIUiLGRldmVsb3BlZEJ5OiJTdWvFq3LElyIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmFjaWpvcyJ9LGtpPXt1bml0T2ZUaW1lOntob3VyOiJzdHVuZGEiLGhvdXJzOiJzdHVuZGFzIix5ZWFyOiJnYWRzIix5ZWFyczoiZ2FkaSIsZGF5OiJkaWVuYSIsZGF5czoiZGllbmFzIixtaW51dGU6Im1pbsWrdGUiLG1pbnV0ZXM6Im1pbsWrdGVzIixzZWNvbmQ6Im90cmFpcyIsc2Vjb25kczoic2VrdW5kZXMiLG1vdW50aDoibcSTbmVzaXMiLG1vdW50aHM6Im3Ek25lxaFpIn0sc2Vzc2lvbjoiU2VzaWphIixjbGVhbkNvb2tpZToiTm9rbGlrxaHEt2luaWV0IMWhZWl0LCBsYWkgdXp6aW7EgXR1LCBrxIEgbm90xKtyxKt0IHDEgXJsxatrcHJvZ3JhbW1hcyBMb2NhbFN0b3JhZ2Ugc8Sra2ZhaWx1cyB1biBpbmZvcm3EgWNpanUiLGRldmVsb3BlZEJ5OiJJenN0csSBZMSBamEiLGlsbHVzdHJhdGlvbnM6IklsdXN0csSBY2lqYXMifSxJaT17dW5pdE9mVGltZTp7aG91cjoic2llZ8SnYSIsaG91cnM6InNpZ8SnYXQiLHllYXI6InNlbmEiLHllYXJzOiJzbmluIixkYXk6Imp1bSIsZGF5czoiamllbSIsbWludXRlOiJtaW51dGEiLG1pbnV0ZXM6Im1pbnV0aSIsc2Vjb25kOiJpdC10aWVuaSIsc2Vjb25kczoic2Vrb25kaSIsbW91bnRoOiJ4YWhhciIsbW91bnRoczoieGh1ciJ9LHNlc3Npb246IlNlc3Nqb25pIixjbGVhbkNvb2tpZToiSWtrbGlra2phIGhhd24gYmlleCB0aXRnxKdhbGxlbSBraWYgdG5lxKfEp2kgbC1jb29raWVzIHUgbC1pbmZvcm1henpqb25pIHRhbC1Mb2NhbFN0b3JhZ2UgdGFsLWJyb3dzZXIgdGllZ8SnZWsiLGRldmVsb3BlZEJ5OiLFu3ZpbHVwcGF0IG1pbm4iLGlsbHVzdHJhdGlvbnM6IklsbHVtaW5henpqb25pamlldCJ9LFNpPXt1bml0T2ZUaW1lOntob3VyOiJ1dXIiLGhvdXJzOiJ1dXIiLHllYXI6ImphYXIiLHllYXJzOiJqYXJlbiIsZGF5OiJkYWciLGRheXM6ImRhZ2VuIixtaW51dGU6Im1pbnV1dCIsbWludXRlczoibWludXRlbiIsc2Vjb25kOiJ0d2VlZGUiLHNlY29uZHM6InNlY29uZGVuIixtb3VudGg6Im1hYW5kIixtb3VudGhzOiJtYWFuZGVuIn0sc2Vzc2lvbjoic2Vzc2llIixjbGVhbkNvb2tpZToiS2xpayBoaWVyIHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgaGV0IHdpc3NlbiB2YW4gZGUgTG9jYWxTdG9yYWdlLWNvb2tpZXMgZW4gLWluZm9ybWF0aWUgdmFuIHV3IGJyb3dzZXIiLGRldmVsb3BlZEJ5OiJPbnR3aWtrZWxkIGRvb3IiLGlsbHVzdHJhdGlvbnM6IklsbHVzdHJhdGllcyJ9LFRpPXt1bml0T2ZUaW1lOntob3VyOiJnb2R6aW5hIixob3VyczoiZ29kemlueSIseWVhcjoicm9rIix5ZWFyczoibGF0YSIsZGF5OiJkemllxYQiLGRheXM6ImRuaSIsbWludXRlOiJtaW51dGEiLG1pbnV0ZXM6Im1pbnV0eSIsc2Vjb25kOiJkcnVnaSIsc2Vjb25kczoic2VrdW5keSIsbW91bnRoOiJtaWVzacSFYyIsbW91bnRoczoibWllc2nEhWNlIn0sc2Vzc2lvbjoic2VzamEiLGNsZWFuQ29va2llOiJLbGlrbmlqIHR1dGFqLCBhYnkgZG93aWVkemllxIcgc2nEmSwgamFrIHd5Y3p5xZtjacSHIHBsaWtpIGNvb2tpZSBpIGluZm9ybWFjamUgTG9jYWxTdG9yYWdlIHByemVnbMSFZGFya2kiLGRldmVsb3BlZEJ5OiJPcHJhY293YW55IHByemV6IixpbGx1c3RyYXRpb25zOiJJbHVzdHJhY2plIn0sTGk9e3VuaXRPZlRpbWU6e2hvdXI6ImhvcmEiLGhvdXJzOiJob3JhcyIseWVhcjoiYW5vIix5ZWFyczoiYW5vcyIsZGF5OiJkaWEiLGRheXM6ImRpYXMiLG1pbnV0ZToibWludXRvIixtaW51dGVzOiJtaW51dG9zIixzZWNvbmQ6InNlZ3VuZG8iLHNlY29uZHM6InNlZ3VuZG9zIixtb3VudGg6Im3DqnMiLG1vdW50aHM6Im1lc2VzIn0sc2Vzc2lvbjoiU2Vzc8OjbyIsY2xlYW5Db29raWU6IkNsaXF1ZSBhcXVpIHBhcmEgc2FiZXIgY29tbyBibG9xdWVhciBvdSBhcGFnYXIgb3MgY29va2llcyBwZWxhcyBjb25maWd1cmHDp8O1ZXMgZG8gbmF2ZWdhZG9yIGRlIGludGVybmV0IixkZXZlbG9wZWRCeToiRGVzZW52b2x2aWRvIHBvciIsaWxsdXN0cmF0aW9uczoiSWx1c3RyYcOnw7VlcyJ9LCRpPXt1bml0T2ZUaW1lOntob3VyOiJvcmEiLGhvdXJzOiJvcmUiLHllYXI6ImFuIix5ZWFyczoiYW5pIixkYXk6InppIixkYXlzOiJ6aWxlIixtaW51dGU6Im1pbnV0IixtaW51dGVzOiJtaW51dGUiLHNlY29uZDoiYWwgZG9pbGVhIixzZWNvbmRzOiJzZWN1bmRlIixtb3VudGg6Imx1bmEiLG1vdW50aHM6Imx1bmkifSxzZXNzaW9uOiJTZXNpdW5lIixjbGVhbkNvb2tpZToiRmFjZcibaSBjbGljIGFpY2kgcGVudHJ1IGEgYWZsYSBjdW0gc8SDIMiZdGVyZ2XIm2kgY29va2llLXVyaWxlIMiZaSBpbmZvcm1hyJtpaWxlIExvY2FsU3RvcmFnZSBhbGUgYnJvd3NlcnVsdWkgZHZzIixkZXZlbG9wZWRCeToiRGV6dm9sdGF0IGRlIixpbGx1c3RyYXRpb25zOiJJbHVzdHJhyJtpaSJ9LEFpPXt1bml0T2ZUaW1lOntob3VyOiJob2RpbmEiLGhvdXJzOiJob2RpbnkiLHllYXI6InJvayIseWVhcnM6InJva3kiLGRheToiZGXFiCIsZGF5czoiZG5pIixtaW51dGU6Im1pbsO6dHkiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZDoiZHJ1aMO9IixzZWNvbmRzOiJzZWt1bmR5Iixtb3VudGg6Im1lc2lhYyIsbW91bnRoczoibWVzaWFjZSJ9LHNlc3Npb246InJlbMOhY2lhIixjbGVhbkNvb2tpZToiS2xpa251dMOtbSBzZW0gc2EgZG96dmlldGUsIGFrbyB2eW1hemHFpSBzw7pib3J5IGNvb2tpZSBhIGluZm9ybcOhY2llIExvY2FsU3RvcmFnZSB2w6HFoWhvIHByZWhsaWFkYcSNYSIsZGV2ZWxvcGVkQnk6IlZ5dmludXTDvSBzcG9sb8SNbm9zxaVvdSIsaWxsdXN0cmF0aW9uczoiSWx1c3Ryw6FjaWUifSxFaT17dW5pdE9mVGltZTp7aG91cjoidGltbWUiLGhvdXJzOiJ0aW1tYXIiLHllYXI6IsOlciIseWVhcnM6IsOlciIsZGF5OiJkYWciLGRheXM6ImRheXMiLG1pbnV0ZToibWludXRlIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6InNlY29uZCIsc2Vjb25kczoic2VrdW5kZXIiLG1vdW50aDoibcOlbmFkIixtb3VudGhzOiJtw6VuYWRlciJ9LHNlc3Npb246IlNlc3Npb24iLGNsZWFuQ29va2llOiJLbGlja2EgaMOkciBmw7ZyIGF0dCBsw6RyYSBkaWcgaHVyIGR1IHJlbnNhciBkaW4gd2ViYmzDpHNhcmVzIExvY2FsU3RvcmFnZS1jb29raWVzIG9jaCBpbmZvcm1hdGlvbiIsZGV2ZWxvcGVkQnk6IlV0dmVja2xhZCBhdiIsaWxsdXN0cmF0aW9uczoiSWxsdXN0cmF0aW9uZXIifSxSaT17dW5pdE9mVGltZTp7aG91cjoi5pmC6ZaTIixob3Vyczoi5pmC6ZaTIix5ZWFyOiLlubQiLHllYXJzOiLlubQiLGRheToi5pelIixkYXlzOiLml6UiLG1pbnV0ZToi5YiGIixtaW51dGVzOiLliIYiLHNlY29uZDoi56eSIixzZWNvbmRzOiLnp5IiLG1vdW50aDoi5pyIIixtb3VudGhzOiLmnIgifSxzZXNzaW9uOiLjgrvjg4Pjgrfjg6fjg7MiLGNsZWFuQ29va2llOiLjgqTjg7Pjgr/jg7zjg43jg4Pjg4jjg5bjg6njgqbjgrbjga7oqK3lrprjgafjgq/jg4Pjgq3jg7zjgpLjg5bjg63jg4Pjgq/jgb7jgZ/jga/liYrpmaTjgZnjgovmlrnms5XjgavjgaTjgYTjgabjga/jgIHjgZPjgZPjgpLjgq/jg6rjg4Pjgq/jgZfjgabjgY/jgaDjgZXjgYQiLGRldmVsb3BlZEJ5OiLplovnmbrogIUiLGlsbHVzdHJhdGlvbnM6IuOCpOODqeOCueODiCJ9LE9pPXt1bml0T2ZUaW1lOntob3VyOiLgpJjgpILgpJ/gpL4iLGhvdXJzOiLgpJjgpILgpJ/gpYciLHllYXI6IuCkuOCkvuCksiIseWVhcnM6IuCkuOCkvuCksiIsZGF5OiLgpKbgpL/gpKgiLGRheXM6IuCkpuCkv+CkqCIsbWludXRlOiLgpK7gpL/gpKjgpJ8iLG1pbnV0ZXM6IuCkruCkv+CkqOCknyIsc2Vjb25kOiLgpLjgpYfgpJXgpILgpKEiLHNlY29uZHM6IuCkuOClh+CkleCkguCkoSIsbW91bnRoOiLgpK7gpLngpYDgpKjgpL4iLG1vdW50aHM6IuCkruCkueClgOCkqOClhyJ9LHNlc3Npb246IuCkuOCkpOCljeCksCIsY2xlYW5Db29raWU6IuCkr+CkueCkvuCkgiDgpJXgpY3gpLLgpL/gpJUg4KSV4KSw4KWH4KSCIOCkpOCkvuCkleCkvyDgpIbgpKog4KSH4KSC4KSf4KSw4KSo4KWH4KSfIOCkrOCljeCksOCkvuCkieCknOCkvOCksCDgpJXgpYAg4KS44KWH4KSf4KS/4KSC4KSX4KWN4KS4IOCkleClhyDgpK7gpL7gpKfgpY3gpK/gpK4g4KS44KWHIOCkleClgeCkleClgOCknOCkvCDgpJXgpYsg4KSF4KS14KSw4KWL4KSn4KS/4KSkIOCkr+CkviDgpLngpJ/gpL4g4KS44KSV4KWH4KSCIixkZXZlbG9wZWRCeToi4KSm4KWN4KS14KS+4KSw4KS+IOCkteCkv+CkleCkuOCkv+CkpCIsaWxsdXN0cmF0aW9uczoi4KSa4KS/4KSk4KWN4KSw4KSjIn0sRGk9e3VuaXRPZlRpbWU6e2hvdXI6IuWwj+aXtiIsaG91cnM6IuWwj+aXtiIseWVhcjoi5bm0Iix5ZWFyczoi5bm0IixkYXk6IuWkqSIsZGF5czoi5aSpIixtaW51dGU6IuWIhumSnyIsbWludXRlczoi5YiG6ZKfIixzZWNvbmQ6IuenkiIsc2Vjb25kczoi56eSIixtb3VudGg6IuaciCIsbW91bnRoczoi5pyIIn0sc2Vzc2lvbjoi5Lya6K+dIixjbGVhbkNvb2tpZToi54K55Ye76L+Z6YeM5LqG6Kej5aaC5L2V6YCa6L+H5LqS6IGU572R5rWP6KeI5Zmo55qE6K6+572u5p2l6Zi75q2i5oiW5Yig6ZmkQ29va2llIixkZXZlbG9wZWRCeToi5byA5Y+R6ICFIixpbGx1c3RyYXRpb25zOiLmj5Llm74ifSxCaT17dW5pdE9mVGltZTp7aG91cjoi2LPYp9i52KkiLGhvdXJzOiLYs9in2LnYp9iqIix5ZWFyOiLYs9mG2KkiLHllYXJzOiLYs9mG2YjYp9iqIixkYXk6ItmK2YjZhSIsZGF5czoi2KPZitin2YUiLG1pbnV0ZToi2K/ZgtmK2YLYqSIsbWludXRlczoi2K/Zgtin2KbZgiIsc2Vjb25kOiLYq9in2YbZitipIixzZWNvbmRzOiLYq9mI2KfZhtmKIixtb3VudGg6Iti02YfYsSIsbW91bnRoczoi2LTZh9mI2LEifSxzZXNzaW9uOiLYrNmE2LPYqSIsY2xlYW5Db29raWU6Itin2YbZgtixINmH2YbYpyDZhNmF2LnYsdmB2Kkg2YPZitmB2YrYqSDYrdi42LEg2KPZiCDYrdiw2YEg2KfZhNmD2YjZg9mK2LIg2YXZhiDYpdi52K/Yp9iv2KfYqiDZhdiq2LXZgditINin2YTZiNmK2KgiLGRldmVsb3BlZEJ5OiLYqtmFINiq2LfZiNmK2LHZhyDYqNmI2KfYs9i32KkiLGlsbHVzdHJhdGlvbnM6Itix2LPZiNmFINiq2YjYttmK2K3ZitipIn0sUGk9e3VuaXRPZlRpbWU6e2hvdXI6ImhvcmEiLGhvdXJzOiJob3JhcyIseWVhcjoiYW5vIix5ZWFyczoiYW5vcyIsZGF5OiJkaWEiLGRheXM6ImRpYXMiLG1pbnV0ZToibWludXRvIixtaW51dGVzOiJtaW51dG9zIixzZWNvbmQ6InNlZ3VuZG8iLHNlY29uZHM6InNlZ3VuZG9zIixtb3VudGg6Im3DqnMiLG1vdW50aHM6Im1lc2VzIn0sc2Vzc2lvbjoiU2Vzc8OjbyIsY2xlYW5Db29raWU6IkNsaXF1ZSBhcXVpIHBhcmEgc2FiZXIgY29tbyBibG9xdWVhciBvdSBhcGFnYXIgb3MgY29va2llcyBwZWxhcyBjb25maWd1cmHDp8O1ZXMgZG8gbmF2ZWdhZG9yIGRlIGludGVybmV0IixkZXZlbG9wZWRCeToiRGVzZW52b2x2aWRvIHBvciIsaWxsdXN0cmF0aW9uczoiSWx1c3RyYcOnw7VlcyJ9LF9pPXt1bml0T2ZUaW1lOntob3VyOiJob3VyIixob3VyczoiaG91cnMiLHllYXI6InllYXIiLHllYXJzOiJ5ZWFycyIsZGF5OiJkYXkiLGRheXM6ImRheXMiLG1pbnV0ZToibWludXRlIixtaW51dGVzOiJtaW51dGVzIixzZWNvbmQ6InNlY29uZCIsc2Vjb25kczoic2Vjb25kcyIsbW91bnRoOiJtb250aCIsbW91bnRoczoibW9udGhzIn0sc2Vzc2lvbjoiU2Vzc2lvbiIsY2xlYW5Db29raWU6IkNsaWNrIGhlcmUgdG8gbGVhcm4gaG93IHRvIGJsb2NrIG9yIGRlbGV0ZSBjb29raWVzIHRocm91Z2ggeW91ciBpbnRlcm5ldCBicm93c2VyIHNldHRpbmdzIixkZXZlbG9wZWRCeToiRGV2ZWxvcGVkIGJ5IixpbGx1c3RyYXRpb25zOiJJbGx1c3RyYXRpb25zIn0samk9e3VuaXRPZlRpbWU6e2hvdXI6ImhvcmEiLGhvdXJzOiJob3JhcyIseWVhcjoiYcOxbyIseWVhcnM6ImHDsW9zIixkYXk6ImTDrWEiLGRheXM6ImTDrWFzIixtaW51dGU6Im1pbnV0byIsbWludXRlczoibWludXRvcyIsc2Vjb25kOiJzZWd1bmRvIixzZWNvbmRzOiJzZWd1bmRvcyIsbW91bnRoOiJtZXMiLG1vdW50aHM6Im1lc2VzIn0sc2Vzc2lvbjoiU2VzacOzbiIsY2xlYW5Db29raWU6IkhheiBjbGljIGFxdcOtIHBhcmEgc2FiZXIgY8OzbW8gYmxvcXVlYXIgbyBlbGltaW5hciBsYXMgY29va2llcyBhIHRyYXbDqXMgZGUgbGEgY29uZmlndXJhY2nDs24gZGUgdHUgbmF2ZWdhZG9yIGRlIGludGVybmV0IixkZXZlbG9wZWRCeToiRGVzYXJyb2xsYWRvIHBvciIsaWxsdXN0cmF0aW9uczoiSWx1c3RyYWNpb25lcyJ9LE5pPXt1bml0T2ZUaW1lOntob3VyOiLlsI/mmYIiLGhvdXJzOiLlsI/mmYIiLHllYXI6IuW5tCIseWVhcnM6IuW5tCIsZGF5OiLlpKkiLGRheXM6IuWkqSIsbWludXRlOiLliIbpkJgiLG1pbnV0ZXM6IuWIhumQmCIsc2Vjb25kOiLnp5IiLHNlY29uZHM6IuenkiIsbW91bnRoOiLmnIgiLG1vdW50aHM6IuaciCJ9LHNlc3Npb246Iuacg+ipsSIsY2xlYW5Db29raWU6Ium7nuaTiuatpOiZleS6huino+WmguS9lemAmumBjuS6kuiBr+e2sueAj+imveWZqOioree9rumYu+atouaIluWIqumZpGNvb2tpZSIsZGV2ZWxvcGVkQnk6IueUsS4uLumWi+eZvCIsaWxsdXN0cmF0aW9uczoi5o+S5ZyWIn07dmFyIFZpPXtiZzpsaSxjczpjaSxkYTpkaSxkZTpwaSxlbDp1aSxlbjpnaSxlczptaSxldDpmaSxmaTpoaSxmcjpiaSxnYTp4aSxocjp5aSxodTp3aSxpdDpDaSxsdDp2aSxsdjpraSxtdDpJaSxubDpTaSxwbDpUaSxwdDpMaSxybzokaSxzazpBaSxzdjpFaSxqYTpSaSx6aDpEaSxoaTpPaSxhcjpCaSwicHQtUFQiOlBpLCJlbi1HQiI6X2ksImVzLUxBIjpqaSwiemgtVFciOk5pfTtmdW5jdGlvbiBNaShlKXtsZXQgbyxyLGksbjtyZXR1cm57Yygpe289Yigic3ZnIikscj1iKCJnIiksbWUoaT1iKCJwYXRoIiksImQiLCJtMTIxLjMsMzQuNmMtMS42LTEuNi00LjItMS42LTUuOCwwbC01MSw1MS4xLTUxLjEtNTEuMWMtMS42LTEuNi00LjItMS42LTUuOCwwLTEuNiwxLjYtMS42LDQuMlxyXG4gICAgICAwLDUuOGw1My45LDUzLjljMC44LDAuOCAxLjgsMS4yIDIuOSwxLjIgMSwwIDIuMS0wLjRcclxuICAgICAgMi45LTEuMmw1My45LTUzLjljMS43LTEuNiAxLjctNC4yIDAuMS01Ljh6IikseChyLCJhbmltYXRpb24iLCJub25lIiwxKSx4KHIsInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLG1lKG8sInZpZXdCb3giLCIwIDAgMTI5IDEyOSIpLG1lKG8sIndpZHRoIixlWzBdKSxtZShvLCJoZWlnaHQiLGVbMF0pLG1lKG8sInhtbG5zOnhsaW5rIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIpLHgobywidHJhbnNpdGlvbiIsInRyYW5zZm9ybSAwLjNzIGVhc2UiKSxtZShvLCJ0cmFuc2Zvcm0iLG49YHJvdGF0ZSgke2VbMV0/MTgwOjB9KWApfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZtZShvLCJ3aWR0aCIsZVswXSksMSZ0JiZtZShvLCJoZWlnaHQiLGVbMF0pLDImdCYmbiE9PShuPWByb3RhdGUoJHtlWzFdPzE4MDowfSlgKSYmbWUobywidHJhbnNmb3JtIixuKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gemkoZSx0LG8pe2xldHtzaXplOnI9IjhweCJ9PXQse3JvdGF0ZTppPSExfT10O3JldHVybiBlLiQkc2V0PWU9Pnsic2l6ZSJpbiBlJiZvKDAscj1lLnNpemUpLCJyb3RhdGUiaW4gZSYmbygxLGk9ZS5yb3RhdGUpfSxbcixpXX1jbGFzcyBGaSBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSx6aSxNaSxyLHtzaXplOjAscm90YXRlOjF9KX19ZnVuY3Rpb24gVWkoZSl7bGV0IG8scj1lWzBdPy50ZXh0cz8udGl0bGVzPy5jYXJkKyIiLGk7cmV0dXJue2MoKXtvPWRlKCJoMyIpLGk9cGUociksbWUobywiaWQiLCJjb29raWUtYmFubmVyLXRpdGxlIiksbWUobywiY2xhc3MiLGVbMTVdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXsxJnRbMF0mJnIhPT0ocj1lWzBdPy50ZXh0cz8udGl0bGVzPy5jYXJkKyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIFdpKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289ZGUoImEiKSxtZShyPWRlKCJkaXYiKSwiY2xhc3MiLGVbMTZdKCkpLG1lKHIsImlkIiwid2hpdGVsYWJlbEljb25JZCIpLG1lKG8sImhyZWYiLGk9ZVswXT8ud2hpdGVsYWJlbD8ubGluayl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKX0scChlLHQpezEmdFswXSYmaSE9PShpPWVbMF0/LndoaXRlbGFiZWw/LmxpbmspJiZtZShvLCJocmVmIixpKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEhpKGUpe2xldCBvLHIsaTtyZXR1cm57Yygpe289ZGUoImEiKSxyPXBlKCJBZE9wdCIpLG1lKG8sImhyZWYiLGk9WHQoZVswXSwibWFpbiIpKSxtZShvLCJjbGFzcyIsZVsxN10oKSksbWUobywicmVsIiwibm9vcGVuZXIiKSxtZShvLCJ0YXJnZXQiLCJfYmxhbmsiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpfSxwKGUsdCl7MSZ0WzBdJiZpIT09KGk9WHQoZVswXSwibWFpbiIpKSYmbWUobywiaHJlZiIsaSl9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBHaShvKXtsZXQgcixpLG4sYSxzLGw9b1swXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dNb3JlKyIiLGMsZCxwLHUsZyxtLGY9MDxvWzBdPy5pYWJUYWdzPy5sZW5ndGgmJnFpKG8pLGg9KGE9bmV3IEZpKHtwcm9wczp7c2l6ZToiMTIifX0pLG9bMl0mJktpKG8pKTtyZXR1cm57Yygpe2YmJmYuYygpLHI9dWUoKSxpPWRlKCJkaXYiKSxuPWRlKCJkaXYiKSx4ZShhLiQkLmZyYWdtZW50KSxzPXVlKCksYz1wZShsKSxkPXVlKCksaCYmaC5jKCkscD1mbygpLG1lKG4sImNsYXNzIixvWzMwXSgpKSxtZShpLCJyb2xlIiwiYnV0dG9uIiksbWUoaSwiY2xhc3MiLG9bMjRdKCkpLG1lKGksInRhYmluZGV4IiwiMCIpfSxtKGUsdCl7ZiYmZi5tKGUsdCksbGUoZSxyLHQpLGxlKGUsaSx0KSxzZShpLG4pLHllKGEsbixudWxsKSxzZShpLHMpLHNlKGksYyksbGUoZSxkLHQpLGgmJmgubShlLHQpLGxlKGUscCx0KSx1PSEwLGd8fChtPVtnZShpLCJjbGljayIsb1szMl0pLGdlKGksImtleWRvd24iLG9bMzNdKV0sZz0hMCl9LHAoZSx0KXswPGVbMF0/LmlhYlRhZ3M/Lmxlbmd0aD9mP2YucChlLHQpOigoZj1xaShlKSkuYygpLGYubShyLnBhcmVudE5vZGUscikpOmYmJihmLmQoMSksZj1udWxsKSwoIXV8fDEmdFswXSkmJmwhPT0obD1lWzBdPy50ZXh0cz8uYnV0dG9ucz8uc2hvd01vcmUrIiIpJiZmZShjLGwpLGVbMl0/aD9oLnAoZSx0KTooKGg9S2koZSkpLmMoKSxoLm0ocC5wYXJlbnROb2RlLHApKTpoJiYoaC5kKDEpLGg9bnVsbCl9LGkoZSl7dXx8KGhlKGEuJCQuZnJhZ21lbnQsZSksdT0hMCl9LG8oZSl7YmUoYS4kJC5mcmFnbWVudCxlKSx1PSExfSxkKGUpe2YmJmYuZChlKSxlJiZjZShyKSxlJiZjZShpKSx3ZShhKSxlJiZjZShkKSxoJiZoLmQoZSksZSYmY2UocCksZz0hMSxybyhtKX19fWZ1bmN0aW9uIHFpKG8pe2xldCByO3JldHVybntjKCl7bWUocj1kZSgic21hbGwiKSwiY2xhc3MiLG9bMjBdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHIuaW5uZXJIVE1MPW9bM119LHAoZSx0KXs4JnRbMF0mJihyLmlubmVySFRNTD1lWzNdKX0sZChlKXtlJiZjZShyKX19fWZ1bmN0aW9uIEtpKG8pe2xldCByLGksbj1vWzBdLnRleHRzPy5tb2RhbHM/LnB1cnBvc2VzRGV0YWlscz8udGl0bGUrIiIsYSxzLGwsYz1vWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0NhbklDaGFuZ2VNeUNob2ljZT8udGl0bGUrIiIsZCxwLHUsZz1vWzBdLnRleHRzPy5tb2RhbHM/LndoYXRJZklEb250Q29uc2VudD8udGl0bGUrIiIsbSxmLGgsYj1vWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0RvZXNMZWdpdGltYXRlSW50ZXJlc3RXb3JrPy50aXRsZSsiIix4LHksdyxDPW9bMF0udGV4dHM/Lm1vZGFscz8uZG9JSGF2ZVRvQ29uc2VudFRvRXZlcnl0aGluZz8udGl0bGUrIiIsdixrLEk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxhPXBlKG4pLHM9dWUoKSxsPWRlKCJkaXYiKSxkPXBlKGMpLHA9dWUoKSx1PWRlKCJkaXYiKSxtPXBlKGcpLGY9dWUoKSxoPWRlKCJkaXYiKSx4PXBlKGIpLHk9dWUoKSx3PWRlKCJkaXYiKSx2PXBlKEMpLG1lKGksInJvbGUiLCJidXR0b24iKSxtZShpLCJ0YWJpbmRleCIsIjAiKSxtZShpLCJjbGFzcyIsb1syNl0oKSksbWUobCwicm9sZSIsImJ1dHRvbiIpLG1lKGwsInRhYmluZGV4IiwiMCIpLG1lKGwsImNsYXNzIixvWzI2XSgpKSxtZSh1LCJyb2xlIiwiYnV0dG9uIiksbWUodSwidGFiaW5kZXgiLCIwIiksbWUodSwiY2xhc3MiLG9bMjZdKCkpLG1lKGgsInJvbGUiLCJidXR0b24iKSxtZShoLCJ0YWJpbmRleCIsIjAiKSxtZShoLCJjbGFzcyIsb1syNl0oKSksbWUodywicm9sZSIsImJ1dHRvbiIpLG1lKHcsInRhYmluZGV4IiwiMCIpLG1lKHcsImNsYXNzIixvWzI2XSgpKSxtZShyLCJjbGFzcyIsb1syNV0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLGEpLHNlKHIscyksc2UocixsKSxzZShsLGQpLHNlKHIscCksc2Uocix1KSxzZSh1LG0pLHNlKHIsZiksc2UocixoKSxzZShoLHgpLHNlKHIseSksc2Uocix3KSxzZSh3LHYpLGt8fChJPVtnZShpLCJjbGljayIsb1s2XSksZ2UoaSwia2V5ZG93biIsb1szNF0pLGdlKGwsImNsaWNrIixvWzddKSxnZShsLCJrZXlkb3duIixvWzM1XSksZ2UodSwiY2xpY2siLG9bOF0pLGdlKHUsImtleWRvd24iLG9bMzZdKSxnZShoLCJjbGljayIsb1s5XSksZ2UoaCwia2V5ZG93biIsb1szN10pLGdlKHcsImNsaWNrIixvWzEwXSksZ2Uodywia2V5ZG93biIsb1szOF0pXSxrPSEwKX0scChlLHQpezEmdFswXSYmbiE9PShuPWVbMF0udGV4dHM/Lm1vZGFscz8ucHVycG9zZXNEZXRhaWxzPy50aXRsZSsiIikmJmZlKGEsbiksMSZ0WzBdJiZjIT09KGM9ZVswXS50ZXh0cz8ubW9kYWxzPy5ob3dDYW5JQ2hhbmdlTXlDaG9pY2U/LnRpdGxlKyIiKSYmZmUoZCxjKSwxJnRbMF0mJmchPT0oZz1lWzBdLnRleHRzPy5tb2RhbHM/LndoYXRJZklEb250Q29uc2VudD8udGl0bGUrIiIpJiZmZShtLGcpLDEmdFswXSYmYiE9PShiPWVbMF0udGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LnRpdGxlKyIiKSYmZmUoeCxiKSwxJnRbMF0mJkMhPT0oQz1lWzBdLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmc/LnRpdGxlKyIiKSYmZmUodixDKX0sZChlKXtlJiZjZShyKSxrPSExLHJvKEkpfX19ZnVuY3Rpb24gUWkoZSl7bGV0IG8scj1lWzBdPy50ZXh0cz8ubGlua3M/LnBvbGljeSsiIixpLG47cmV0dXJue2MoKXtvPWRlKCJhIiksaT1wZShyKSxtZShvLCJjbGFzcyIsZVsyMl0oKSksbWUobywiaHJlZiIsbj1lWzBdPy51cmxzPy5wb2xpY3kpLG1lKG8sInRhYmluZGV4IiwiMCIpLG1lKG8sInJlbCIsIm5vb3BlbmVyIiksbWUobywidGFyZ2V0IiwiX2JsYW5rIil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezEmdFswXSYmciE9PShyPWVbMF0/LnRleHRzPy5saW5rcz8ucG9saWN5KyIiKSYmZmUoaSxyKSwxJnRbMF0mJm4hPT0obj1lWzBdPy51cmxzPy5wb2xpY3kpJiZtZShvLCJocmVmIixuKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEppKGUpe2xldCBvLHIsaSxuPWVbMF0/LnRleHRzPy5saW5rcz8uY29va2llcysiIixhLHM7cmV0dXJue2MoKXsobz1kZSgic3BhbiIpKS50ZXh0Q29udGVudD0iLSIscj11ZSgpLGk9ZGUoImEiKSxhPXBlKG4pLG1lKG8sImlkIiwiYWRvcHQtZGl2aXNvciIpLG1lKGksImNsYXNzIixlWzIyXSgpKSxtZShpLCJocmVmIixzPWVbMF0/LnVybHM/LmNvb2tpZXMpLG1lKGksInRhYmluZGV4IiwiMCIpLG1lKGksInJlbCIsIm5vb3BlbmVyIiksbWUoaSwidGFyZ2V0IiwiX2JsYW5rIil9LG0oZSx0KXtsZShlLG8sdCksbGUoZSxyLHQpLGxlKGUsaSx0KSxzZShpLGEpfSxwKGUsdCl7MSZ0WzBdJiZuIT09KG49ZVswXT8udGV4dHM/LmxpbmtzPy5jb29raWVzKyIiKSYmZmUoYSxuKSwxJnRbMF0mJnMhPT0ocz1lWzBdPy51cmxzPy5jb29raWVzKSYmbWUoaSwiaHJlZiIscyl9LGQoZSl7ZSYmY2UobyksZSYmY2UociksZSYmY2UoaSl9fX1mdW5jdGlvbiBaaShlKXtsZXQgbyxyLGksbj1lWzBdPy50ZXh0cz8ubGlua3M/LnRlcm1zKyIiLGEscztyZXR1cm57YygpeyhvPWRlKCJzcGFuIikpLnRleHRDb250ZW50PSItIixyPXVlKCksaT1kZSgiYSIpLGE9cGUobiksbWUobywiaWQiLCJhZG9wdC1kaXZpc29yIiksbWUoaSwiY2xhc3MiLGVbMjJdKCkpLG1lKGksImhyZWYiLHM9ZVswXT8udXJscz8udGVybXMpLG1lKGksInRhYmluZGV4IiwiMCIpLG1lKGksInJlbCIsIm5vb3BlbmVyIiksbWUoaSwidGFyZ2V0IiwiX2JsYW5rIil9LG0oZSx0KXtsZShlLG8sdCksbGUoZSxyLHQpLGxlKGUsaSx0KSxzZShpLGEpfSxwKGUsdCl7MSZ0WzBdJiZuIT09KG49ZVswXT8udGV4dHM/LmxpbmtzPy50ZXJtcysiIikmJmZlKGEsbiksMSZ0WzBdJiZzIT09KHM9ZVswXT8udXJscz8udGVybXMpJiZtZShpLCJocmVmIixzKX0sZChlKXtlJiZjZShvKSxlJiZjZShyKSxlJiZjZShpKX19fWZ1bmN0aW9uIFlpKG8pe2xldCByLGksbixhPW9bMF0/LnRleHRzPy5saW5rcz8ub3B0b3V0KyIiLHMsbCxjLGQ7cmV0dXJue2MoKXsocj1kZSgic3BhbiIpKS50ZXh0Q29udGVudD0iLSIsaT11ZSgpLG49ZGUoImEiKSxzPXBlKGEpLG1lKHIsImlkIiwiYWRvcHQtZGl2aXNvciIpLG1lKG4sImNsYXNzIixvWzIyXSgpKSxtZShuLCJocmVmIixsPW9bMF0/LnVybHM/Lm9wdG91dCksbWUobiwidGFiaW5kZXgiLCIwIiksbWUobiwicmVsIiwibm9vcGVuZXIiKSxtZShuLCJ0YXJnZXQiLCJfYmxhbmsiKX0sbShlLHQpe2xlKGUscix0KSxsZShlLGksdCksbGUoZSxuLHQpLHNlKG4scyksY3x8KGQ9Z2UobiwiY2xpY2siLG9bMzldKSxjPSEwKX0scChlLHQpezEmdFswXSYmYSE9PShhPWVbMF0/LnRleHRzPy5saW5rcz8ub3B0b3V0KyIiKSYmZmUocyxhKSwxJnRbMF0mJmwhPT0obD1lWzBdPy51cmxzPy5vcHRvdXQpJiZtZShuLCJocmVmIixsKX0sZChlKXtlJiZjZShyKSxlJiZjZShpKSxlJiZjZShuKSxjPSExLGQoKX19fWZ1bmN0aW9uIFhpKG8pe2xldCByLGk9b1swXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dQcmVmZXJlbmNlcysiIixuLGEscztyZXR1cm57Yygpe3I9ZGUoImJ1dHRvbiIpLG49cGUoaSksbWUociwiaWQiLCJhZG9wdC1wcmVmZXJlbmNlcy1idXR0b24iKSxtZShyLCJjbGFzcyIsb1syOF0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixuKSxhfHwocz1nZShyLCJjbGljayIsb1s0MF0pLGE9ITApfSxwKGUsdCl7MSZ0WzBdJiZpIT09KGk9ZVswXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dQcmVmZXJlbmNlcysiIikmJmZlKG4saSl9LGQoZSl7ZSYmY2UociksYT0hMSxzKCl9fX1mdW5jdGlvbiBlbihvKXtsZXQgcixpPW9bMF0/LnRleHRzPy5idXR0b25zPy5yZWplY3RBbGwrIiIsbixhLHM7cmV0dXJue2MoKXtyPWRlKCJidXR0b24iKSxuPXBlKGkpLG1lKHIsImNsYXNzIixvWzI3XSgpKSxtZShyLCJpZCIsImFkb3B0LXJlamVjdC1hbGwtYnV0dG9uIil9LG0oZSx0KXtsZShlLHIsdCksc2UocixuKSxhfHwocz1nZShyLCJjbGljayIsb1s0Ml0pLGE9ITApfSxwKGUsdCl7MSZ0WzBdJiZpIT09KGk9ZVswXT8udGV4dHM/LmJ1dHRvbnM/LnJlamVjdEFsbCsiIikmJmZlKG4saSl9LGQoZSl7ZSYmY2UociksYT0hMSxzKCl9fX1mdW5jdGlvbiB0bihvKXtsZXQgcixpPW9bMF0/LnRleHRzPy5idXR0b25zPy5kb05vdFNlbGwrIiIsbixhLHM7cmV0dXJue2MoKXtyPWRlKCJidXR0b24iKSxuPXBlKGkpLG1lKHIsImNsYXNzIixvWzI3XSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLGF8fChzPWdlKHIsImNsaWNrIixvWzQxXSksYT0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdPy50ZXh0cz8uYnV0dG9ucz8uZG9Ob3RTZWxsKyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShyKSxhPSExLHMoKX19fWZ1bmN0aW9uIG9uKG8pe2xldCByLGk9b1swXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dQcmVmZXJlbmNlcysiIixuLGEscztyZXR1cm57Yygpe3I9ZGUoImJ1dHRvbiIpLG49cGUoaSksbWUociwiaWQiLCJhZG9wdC1wcmVmZXJlbmNlcy1idXR0b24iKSxtZShyLCJjbGFzcyIsb1syOF0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixuKSxhfHwocz1nZShyLCJjbGljayIsb1s0M10pLGE9ITApfSxwKGUsdCl7MSZ0WzBdJiZpIT09KGk9ZVswXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dQcmVmZXJlbmNlcysiIikmJmZlKG4saSl9LGQoZSl7ZSYmY2UociksYT0hMSxzKCl9fX1mdW5jdGlvbiBybihvKXtsZXQgcixpLG4sYSxzLGwsYyxqLGQscCxOLHU9b1swXT8udGNmPy5lbmFibGVkJiZ0ZVtlZS5FdXJvcGVdLmluY2x1ZGVzKG9bMF0ubGVnaXNsYXRpb24pJiZvWzBdLnRleHRzPy5tb2RhbHM/Lmhvd0NhbklDaGFuZ2VNeUNob2ljZT8udGl0bGUmJm9bMF0udGV4dHM/Lm1vZGFscz8ud2hhdElmSURvbnRDb25zZW50Py50aXRsZSYmb1swXS50ZXh0cz8ubW9kYWxzPy5ob3dEb2VzTGVnaXRpbWF0ZUludGVyZXN0V29yaz8udGl0bGUmJm9bMF0udGV4dHM/Lm1vZGFscz8uZG9JSGF2ZVRvQ29uc2VudFRvRXZlcnl0aGluZz8udGl0bGUsZyxtLGYsVixNLHosaCxiPVZpPy5bb1swXS5sYW5ndWFnZV0/LmRldmVsb3BlZEJ5KyIiLEYsVSx4LFcseSxILHcsRyxDLHEsSyx2LGs9b1swXT8udGV4dHM/LmJ1dHRvbnM/LmFjY2VwdEFsbCsiIixRLHQsSSxKLFosUz1vWzBdPy50ZXh0cz8udGl0bGVzPy5jYXJkJiZVaShvKSxUPW9bMF0/LndoaXRlbGFiZWw/LmxpbmsmJldpKG8pLEw9ITEhPT1vWzBdPy53aGl0ZWxhYmVsPy52aXNpYmlsaXR5JiZIaShvKSwkPXUmJkdpKG8pLEE9b1swXT8udXJscz8ucG9saWN5JiZRaShvKSxFPW9bMF0/LnVybHM/LmNvb2tpZXMmJkppKG8pLFI9b1swXT8udXJscz8udGVybXMmJlppKG8pLE89b1swXT8udXJscz8ub3B0b3V0JiZvWzBdPy5sZWdpc2xhdGlvbiE9PVguQ0NQQSYmWWkobyksRD0iYWx0ZXJuYXRpdmUiIT09b1swXT8uZGlzY2xhaW1lck9wdGlvbnM/LnRoZW1lJiZYaShvKTtmdW5jdGlvbiBZKGUsdCl7cmV0dXJuKEM9bnVsbD09KEM9MSZ0WzBdP251bGw6Qyk/ISghdGVbZWUuTm9ydGhBbWVyaWNhXS5pbmNsdWRlcyhlWzBdPy5sZWdpc2xhdGlvbil8fG9lLmluY2x1ZGVzKGVbMF0/LmxlZ2lzbGF0aW9uKSk6Qyk/dG46ZW59bGV0IEI9WShvLFstMSwtMV0pLFA9QihvKSxfPSJhbHRlcm5hdGl2ZSI9PT1vWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8udGhlbWUmJm9uKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiZGl2IiksYT1kZSgiZGl2IiksUyYmUy5jKCkscz11ZSgpLGw9ZGUoImRpdiIpLFQmJlQuYygpLGM9dWUoKSxMJiZMLmMoKSxqPXVlKCksZD1kZSgiZGl2IikscD1kZSgic21hbGwiKSxOPXVlKCksJCYmJC5jKCksZz11ZSgpLG09ZGUoInNwYW4iKSxBJiZBLmMoKSxmPXVlKCksRSYmRS5jKCksVj11ZSgpLFImJlIuYygpLE09dWUoKSxPJiZPLmMoKSx6PXVlKCksaD1kZSgic21hbGwiKSxGPXBlKGIpLFU9dWUoKSx4PWRlKCJhIiksVz1wZSgiQWRPcHQiKSxIPXVlKCksdz1kZSgiZGl2IiksRCYmRC5jKCksRz11ZSgpLFAuYygpLHE9dWUoKSxfJiZfLmMoKSxLPXVlKCksdj1kZSgiYnV0dG9uIiksUT1wZShrKSxtZShhLCJjbGFzcyIsb1sxNF0oKSksbWUocCwiaWQiLCJjb29raWUtYmFubmVyLWNvbnRlbnQiKSxtZShwLCJjbGFzcyIsb1syMF0oKSksbWUobSwiY2xhc3MiLG9bMjFdKCkpLG1lKHgsImhyZWYiLHk9WHQob1swXSwibWFpbiIpKSxtZSh4LCJ0YWJpbmRleCIsIjAiKSxtZSh4LCJyZWwiLCJub29wZW5lciIpLG1lKHgsInRhcmdldCIsIl9ibGFuayIpLG1lKGgsImNsYXNzIixvWzE4XSgpKSxtZShkLCJjbGFzcyIsb1sxOV0oKSksbWUobiwiY2xhc3MiLG9bMTNdKCkpLG1lKHYsImlkIiwiYWRvcHQtYWNjZXB0LWFsbC1idXR0b24iKSxtZSh2LCJjbGFzcyIsb1syOV0oKSksbWUodywiY2xhc3MiLG9bMjNdKCkpLG1lKGksImNsYXNzIixvWzEyXSgpKSxtZShyLCJpZCIsImNvb2tpZS1iYW5uZXIiKSxtZShyLCJyb2xlIiwiZGlhbG9nIiksbWUociwiYXJpYS1tb2RhbCIsInRydWUiKSxtZShyLCJhcmlhLWxhYmVsbGVkYnkiLCJjb29raWUtYmFubmVyLXRpdGxlIiksbWUociwiYXJpYS1kZXNjcmliZWRieSIsImNvb2tpZS1iYW5uZXItY29udGVudCIpLG1lKHIsImFyaWEtaGlkZGVuIixvWzFdKSxtZShyLCJ0YWJpbmRleCIsLTEpLG1lKHIsImNsYXNzIixvWzExXSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksbiksc2UobixhKSxTJiZTLm0oYSxudWxsKSxzZShhLHMpLHNlKGEsbCksVCYmVC5tKGwsbnVsbCksc2UobCxjKSxMJiZMLm0obCxudWxsKSxzZShuLGopLHNlKG4sZCksc2UoZCxwKSxwLmlubmVySFRNTD1vWzRdLHNlKGQsTiksJCYmJC5tKGQsbnVsbCksc2UoZCxnKSxzZShkLG0pLEEmJkEubShtLG51bGwpLHNlKG0sZiksRSYmRS5tKG0sbnVsbCksc2UobSxWKSxSJiZSLm0obSxudWxsKSxzZShtLE0pLE8mJk8ubShtLG51bGwpLHNlKGQseiksc2UoZCxoKSxzZShoLEYpLHNlKGgsVSksc2UoaCx4KSxzZSh4LFcpLHNlKGksSCksc2UoaSx3KSxEJiZELm0odyxudWxsKSxzZSh3LEcpLFAubSh3LG51bGwpLHNlKHcscSksXyYmXy5tKHcsbnVsbCksc2UodyxLKSxzZSh3LHYpLHNlKHYsUSksST0hMCxKfHwoWj1bZ2UodiwiY2xpY2siLG9bNDRdKSxnZShyLCJjbGljayIsaG8oYW4pKV0sSj0hMCl9LHAoZSx0KXsobz1lKVswXT8udGV4dHM/LnRpdGxlcz8uY2FyZD9TP1MucChvLHQpOigoUz1VaShvKSkuYygpLFMubShhLHMpKTpTJiYoUy5kKDEpLFM9bnVsbCksb1swXT8ud2hpdGVsYWJlbD8ubGluaz9UP1QucChvLHQpOigoVD1XaShvKSkuYygpLFQubShsLGMpKTpUJiYoVC5kKDEpLFQ9bnVsbCksITEhPT1vWzBdPy53aGl0ZWxhYmVsPy52aXNpYmlsaXR5P0w/TC5wKG8sdCk6KChMPUhpKG8pKS5jKCksTC5tKGwsbnVsbCkpOkwmJihMLmQoMSksTD1udWxsKSwoIUl8fDE2JnRbMF0pJiYocC5pbm5lckhUTUw9b1s0XSksKHU9MSZ0WzBdP29bMF0/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyhvWzBdLmxlZ2lzbGF0aW9uKSYmb1swXS50ZXh0cz8ubW9kYWxzPy5ob3dDYW5JQ2hhbmdlTXlDaG9pY2U/LnRpdGxlJiZvWzBdLnRleHRzPy5tb2RhbHM/LndoYXRJZklEb250Q29uc2VudD8udGl0bGUmJm9bMF0udGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LnRpdGxlJiZvWzBdLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmc/LnRpdGxlOnUpPyQ/KCQucChvLHQpLDEmdFswXSYmaGUoJCwxKSk6KCgkPUdpKG8pKS5jKCksaGUoJCwxKSwkLm0oZCxnKSk6JCYmKGllKCksYmUoJCwxLDEsKCk9PnskPW51bGx9KSxuZSgpKSxvWzBdPy51cmxzPy5wb2xpY3k/QT9BLnAobyx0KTooKEE9UWkobykpLmMoKSxBLm0obSxmKSk6QSYmKEEuZCgxKSxBPW51bGwpLG9bMF0/LnVybHM/LmNvb2tpZXM/RT9FLnAobyx0KTooKEU9SmkobykpLmMoKSxFLm0obSxWKSk6RSYmKEUuZCgxKSxFPW51bGwpLG9bMF0/LnVybHM/LnRlcm1zP1I/Ui5wKG8sdCk6KChSPVppKG8pKS5jKCksUi5tKG0sTSkpOlImJihSLmQoMSksUj1udWxsKSxvWzBdPy51cmxzPy5vcHRvdXQmJm9bMF0/LmxlZ2lzbGF0aW9uIT09WC5DQ1BBP08/Ty5wKG8sdCk6KChPPVlpKG8pKS5jKCksTy5tKG0sbnVsbCkpOk8mJihPLmQoMSksTz1udWxsKSwoIUl8fDEmdFswXSkmJmIhPT0oYj1WaT8uW29bMF0ubGFuZ3VhZ2VdPy5kZXZlbG9wZWRCeSsiIikmJmZlKEYsYiksKCFJfHwxJnRbMF0mJnkhPT0oeT1YdChvWzBdLCJtYWluIikpKSYmbWUoeCwiaHJlZiIseSksImFsdGVybmF0aXZlIiE9PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy50aGVtZT9EP0QucChvLHQpOigoRD1YaShvKSkuYygpLEQubSh3LEcpKTpEJiYoRC5kKDEpLEQ9bnVsbCksQj09PShCPVkobyx0KSkmJlA/UC5wKG8sdCk6KFAuZCgxKSwoUD1CKG8pKSYmKFAuYygpLFAubSh3LHEpKSksImFsdGVybmF0aXZlIj09PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy50aGVtZT9fP18ucChvLHQpOigoXz1vbihvKSkuYygpLF8ubSh3LEspKTpfJiYoXy5kKDEpLF89bnVsbCksKCFJfHwxJnRbMF0pJiZrIT09KGs9b1swXT8udGV4dHM/LmJ1dHRvbnM/LmFjY2VwdEFsbCsiIikmJmZlKFEsayksKCFJfHwyJnRbMF0pJiZtZShyLCJhcmlhLWhpZGRlbiIsb1sxXSl9LGkoZSl7SXx8KGhlKCQpLGpvKCgpPT57SSYmKHQ9dHx8R28ocixycix7ZHVyYXRpb246ITEhPT1vWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MjUwOjB9LCEwKSkucnVuKDEpfSksST0hMCl9LG8oZSl7YmUoJCksKHQ9dHx8R28ocixycix7ZHVyYXRpb246ITEhPT1vWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MjUwOjB9LCExKSkucnVuKDApLEk9ITF9LGQoZSl7ZSYmY2UociksUyYmUy5kKCksVCYmVC5kKCksTCYmTC5kKCksJCYmJC5kKCksQSYmQS5kKCksRSYmRS5kKCksUiYmUi5kKCksTyYmTy5kKCksRCYmRC5kKCksUC5kKCksXyYmXy5kKCksZSYmdCYmdC5lbmQoKSxKPSExLHJvKFopfX19ZnVuY3Rpb24gbm4oZSx0KXsiRW50ZXIiIT09ZS5rZXkmJiIgIiE9PWUua2V5fHwoZS5wcmV2ZW50RGVmYXVsdCgpLHQoKSl9bGV0IGFuPSgpPT57fTtmdW5jdGlvbiBzbih0LGUsbyl7bGV0IHIsaSxuPSRvKCksYSxzPWUuY29uZmlnLGw9ZS5zdHlsZXMsYz1lLmlzTW9kYWxJbmZvT3BlbixkPSExLHAsdSxnLG09ZT0+eyJUYWIiPT09ZS5rZXkmJihlLnNoaWZ0S2V5P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1wJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHUuZm9jdXMoKSk6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXUmJihlLnByZXZlbnREZWZhdWx0KCkscC5mb2N1cygpKSl9O2Z1bmN0aW9uIGYoKXtuKCJoYW5kbGVPcGVuTW9kYWwiLHt0aXRsZToiSG93IGRvZXMgbGVnaXRpbWF0ZSBpbnRlcmVzdCB3b3JrPyIsY29udGVudERhdGE6cy5pYWJUYWdzPy5tYXAoZT0+KHt0eXBlOiJMSVNUIixjb250ZW50OmUubmFtZX0pKX0pfWZ1bmN0aW9uIGgoKXtsZXQgdD1bXTswPHM/LmlhYlRhZ3M/LlswXT8uZGF0YURlY2xhcmF0aW9uPy5sZW5ndGgmJih0LnB1c2goe3R5cGU6IlBBUkFHUkFQSCIsY29udGVudDpzLnRleHRzPy5tb2RhbHM/LnB1cnBvc2VzRGV0YWlscz8uZXhhbXBsZUxhYmVsfSkscy5pYWJUYWdzWzBdLmRhdGFEZWNsYXJhdGlvbi5mb3JFYWNoKGU9Pnt0LnB1c2goe3R5cGU6IkxJU1QiLGNvbnRlbnQ6IiIrZS5uYW1lfSl9KSksbigiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6cy50ZXh0cz8ubW9kYWxzPy5wdXJwb3Nlc0RldGFpbHM/LnRpdGxlLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8ucHVycG9zZXNEZXRhaWxzPy5kZXNjcmlwdGlvbn0sLi4udF19KX1mdW5jdGlvbiBiKCl7bigiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6cy50ZXh0cz8ubW9kYWxzPy5ob3dDYW5JQ2hhbmdlTXlDaG9pY2U/LnRpdGxlLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8uaG93Q2FuSUNoYW5nZU15Q2hvaWNlPy5kZXNjcmlwdGlvbn0scz8udXJscz8ucG9saWN5P3t0eXBlOiJMSU5LIixjb250ZW50OnM/LnRleHRzPy5saW5rcz8ucG9saWN5LGhyZWY6cz8udXJscz8ucG9saWN5fTp7fV19KX1mdW5jdGlvbiB4KCl7bigiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6cy50ZXh0cz8ubW9kYWxzPy53aGF0SWZJRG9udENvbnNlbnQ/LnRpdGxlLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8ud2hhdElmSURvbnRDb25zZW50Py5kZXNjcmlwdGlvbn1dfSl9ZnVuY3Rpb24geSgpe24oImhhbmRsZU9wZW5Nb2RhbCIse3RpdGxlOnMudGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LnRpdGxlLGNvbnRlbnREYXRhOlt7dHlwZToiUEFSQUdSQVBIIixjb250ZW50OnMudGV4dHM/Lm1vZGFscz8uaG93RG9lc0xlZ2l0aW1hdGVJbnRlcmVzdFdvcms/LmRlc2NyaXB0aW9ufSx7dHlwZToiTElOSyIsY29udGVudDpzLnRleHRzPy5tb2RhbHM/Lmhvd0RvZXNMZWdpdGltYXRlSW50ZXJlc3RXb3JrPy5saW5rTGFiZWwsaHJlZjpzLnRleHRzPy5tb2RhbHM/Lmhvd0RvZXNMZWdpdGltYXRlSW50ZXJlc3RXb3JrPy5saW5rfV19KX1mdW5jdGlvbiB3KCl7bigiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6cy50ZXh0cz8ubW9kYWxzPy5kb0lIYXZlVG9Db25zZW50VG9FdmVyeXRoaW5nPy50aXRsZSxjb250ZW50RGF0YTpbe3R5cGU6IlBBUkFHUkFQSCIsY29udGVudDpzLnRleHRzPy5tb2RhbHM/LmRvSUhhdmVUb0NvbnNlbnRUb0V2ZXJ5dGhpbmcuZGVzY3JpcHRpb259LHt0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy5kb0lIYXZlVG9Db25zZW50VG9FdmVyeXRoaW5nPy5mZWF0dXJlRGVzY3JpcHRpb259LHt0eXBlOiJQQVJBR1JBUEgiLGNvbnRlbnQ6cy50ZXh0cz8ubW9kYWxzPy5kb0lIYXZlVG9Db25zZW50VG9FdmVyeXRoaW5nPy5zcGVjaWFsRmVhdHVyZXNEZXNjcmlwdGlvbn1dfSl9VG8oYXN5bmMoKT0+e3ZhciBlO0t0KHM/LndoaXRlbGFiZWw/LmRpc2NsYWltZXJDb250cm9sbGVyLCJ3aGl0ZWxhYmVsSWNvbklkIiksKGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2Fkb3B0LXZlbmRvcnMtZGV0YWlscyIpKSYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZikscz8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29va2llLWJhbm5lciIpLmZvY3VzKCksZT0iY29va2llLWJhbm5lciIsZT0oZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSkucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJykscD1lWzBdLHU9ZVtlLmxlbmd0aC0xXSxnLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG0pKX0pLExvKCgpPT57cz8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbSl9KTt2YXJ7Y2FyZENvbnRhaW5lcjplLGNhcmRDb250ZW50OkMsY2FyZFRleHRDb250YWluZXI6dixjYXJkVGl0bGVSb3c6ayxjYXJkVGl0bGU6SSxjYXJkV2hpdGVMYWJlbExvZ286UyxjYXJkQWRvcHRMaW5rOlQsY2FyZEFkb3B0TGlua0FsdGVybmF0aXZlOkwsY2FyZFRleHRzUm93OiQsY2FyZFRleHRSb3dDb250ZW50OkEsY2FyZFRleHRSb3dMaW5rczpFLGNhcmRUZXh0TGlua3M6UixjYXJkQnV0dG9uc0NvbnRhaW5lcjpPLGNhcmREZXRhaWxzQnV0dG9uOkQsY2FyZERldGFpbHNXcmFwcGVyOkIsY2FyZERldGFpbHNJdGVtOlAsY2FyZFJlamVjdEFsbEJ1dHRvbjpfLGNhcmRQcmVmZXJlbmNlc0J1dHRvbjpqLGNhcmRBY2NlcHRBbGxCdXR0b246TixjYXJkRGV0YWlsc0NoZXZyb246Vn09KChlLHQpPT57dmFye3RoZW1lOm99PWUuZGlzY2xhaW1lck9wdGlvbnM7cmV0dXJue2RlZmF1bHQ6bmkoZSx0KSxtb2Rlcm46YWkoZSx0KSxhbHRlcm5hdGl2ZTpzaShlLHQpfVtvXX0pKHMsbCk7cmV0dXJuIHQuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmbygwLHM9ZS5jb25maWcpLCJzdHlsZXMiaW4gZSYmbygzMSxsPWUuc3R5bGVzKSwiaXNNb2RhbEluZm9PcGVuImluIGUmJm8oMSxjPWUuaXNNb2RhbEluZm9PcGVuKX0sdC4kJC51cGRhdGU9KCk9Pnt2YXIgZTsxJnQuJCQuZGlydHlbMF0mJm8oNCxyPShlPXM/LnRleHRzPy5ib2R5VGV4dHM/LmNhcmQpPyhlPShlPWUucmVwbGFjZSgie3t2ZW5kb3JzfX0iLHM/LmlhYlRhZ3M/Lmxlbmd0aCkpLnJlcGxhY2UoIjwwPiIsYDxiIHN0eWxlPSJjb2xvcjoke3MuY29sb3JzLndlYi5saWdodC5wcmltYXJ5Q29sb3J9ICFpbXBvcnRhbnQ7Y3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQiIGlkPSJhZG9wdC12ZW5kb3JzLWRldGFpbHMiPmApKS5yZXBsYWNlKCI8LzA+IiwiPC9iPiIpOiIiKSwxJnQuJCQuZGlydHlbMF0mJm8oMyxpPShlPXM/LnRleHRzPy5ib2R5VGV4dHM/LnRjZkRhdGFQcm9jZXNzKT8oZT0oZT0oZT0oZT0oZT1lLnJlcGxhY2UoInt7ZGF0YURlY2xhcmF0aW9ufX0iLHM/LmlhYlRhZ3M/LlswXT8uZGF0YURlY2xhcmF0aW9uPy5bMF0/Lm5hbWUpKS5yZXBsYWNlKCJ7e3N0YWNrSW5Vc2V9fSIscz8uaWFiQ2F0ZWdvcmllcz8uc3RhY2tJblVzZT8ubmFtZS5lbmRzV2l0aCgiLiIpP3M/LmlhYkNhdGVnb3JpZXM/LnN0YWNrSW5Vc2U/Lm5hbWUuc2xpY2UoMCwtMSk6cz8uaWFiQ2F0ZWdvcmllcz8uc3RhY2tJblVzZT8ubmFtZSkpLnJlcGxhY2UoIjwwPiIsYDxiIHN0eWxlPSJjb2xvcjoke3MuY29sb3JzLndlYi5saWdodC5wcmltYXJ5Q29sb3J9ICFpbXBvcnRhbnQ7IiA+YCkpLnJlcGxhY2UoIjwvMD4iLCI8L2I+IikpLnJlcGxhY2UoIjwxPiIsYDxiIHN0eWxlPSJjb2xvcjoke3MuY29sb3JzLndlYi5saWdodC5wcmltYXJ5Q29sb3J9ICFpbXBvcnRhbnQ7IiA+YCkpLnJlcGxhY2UoIjwvMT4iLCI8L2I+Iik6IiIpfSxbcyxjLGQsaSxyLG4saCxiLHgseSx3LGUsQyx2LGssSSxTLFQsTCwkLEEsRSxSLE8sRCxCLFAsXyxqLE4sVixsLCgpPT5vKDIsZD0hZCksZT0+bm4oZSwoKT0+bygyLGQ9IWQpKSxlPT5ubihlLGgpLGU9Pm5uKGUsYiksZT0+bm4oZSx4KSxlPT5ubihlLHkpLGU9Pm5uKGUsdyksKCk9PntNdCgiQWRvcHRDb25zZW50IixVdCgpPz9udWxsKX0sKCk9Pm4oImdvIix7c3RhdHVzOk0uUHJlZmVyZW5jZXMsZXZlbnQ6ei5QcmVmc30pLCgpPT57cz8udXJscz8ub3B0b3V0JiZ3aW5kb3cub3BlbihzPy51cmxzPy5vcHRvdXQsIl9ibGFuayIsIm5vb3BlbmVyIiksbigiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5SZWplY3RBbGwsdXBkYXRlQ29uc2VudDohMH0pLE10KCJBZG9wdENvbnNlbnQiLFV0KCk/P251bGwpfSwoKT0+bigiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5SZWplY3RBbGwsdXBkYXRlQ29uc2VudDohMH0pLCgpPT5uKCJnbyIse3N0YXR1czpNLlByZWZlcmVuY2VzLGV2ZW50OnouUHJlZnN9KSwoKT0+bigiZ28iLHtzdGF0dXM6TS5DbG9zZWQsZXZlbnQ6ei5BY2NlcHRBbGwsdXBkYXRlQ29uc2VudDohMH0pXX1jbGFzcyBsbiBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxzbixybixyLHtjb25maWc6MCxzdHlsZXM6MzEsaXNNb2RhbEluZm9PcGVuOjF9LG51bGwsWy0xLC0xXSl9fWZ1bmN0aW9uIGNuKGUpe2xldCBvLHIsaSxuLGE7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLGk9YigiZyIpLG49YigiZyIpLG1lKGE9YigicGF0aCIpLCJkIiwiTTIyOC4yOTQtMTUxLjc1M0wzNjcuNDg5LTEyLjU1OGMxMS4xMTYsMTEuMTA1LDExLjExNiwyOS4xMTYsMCw0MC4yMlxuICAgICAgICAgIGMtMTEuMTA1LDExLjExNi0yOS4xMDQsMTEuMTE2LTQwLjIyLDBMMTg4LjA3My0xMTEuNTMzTDQ4Ljg2NiwyNy42NjNjLTExLjA5MywxMS4xMTYtMjkuMTE2LDExLjExNi00MC4yMiwwXG4gICAgICAgICAgYy0xMS4xMDUtMTEuMTA1LTExLjEwNS0yOS4xMTYsMC00MC4yMmwxMzkuMjA3LTEzOS4xOTZMOC4zMzgtMjkxLjI2OGMtMTEuMTE2LTExLjExNi0xMS4xMTYtMjkuMTE2LDAtNDAuMjJcbiAgICAgICAgICBjNS41NTItNS41NjQsMTIuODM0LTguMzQsMjAuMTE2LTguMzRjNy4yNywwLDE0LjU1MiwyLjc3NiwyMC4xMDUsOC4zNGwxMzkuNTE0LDEzOS41MTRsMTM5LjE5Ni0xMzkuMTk2XG4gICAgICAgICAgYzUuNTY0LTUuNTUyLDEyLjgzNC04LjM0LDIwLjExNi04LjM0YzcuMjcsMCwxNC41NTIsMi43ODgsMjAuMTA1LDguMzRjMTEuMTE2LDExLjEwNSwxMS4xMTYsMjkuMTA0LDAsNDAuMjJMMjI4LjI5NC0xNTEuNzUzeiIpLHgobiwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChuLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLHgoaSwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChpLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKHIsInRyYW5zZm9ybSIsIm1hdHJpeCgxLjI1IDAgMCAtMS4yNSAwIDQ1KSIpLG1lKG8sInZlcnNpb24iLCIxLjEiKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywieG1sbnM6eGxpbmsiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiksbWUobywidmlld0JveCIsIjAgMCA0NjkuNzg1IDQ2OS43ODUiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSksbWUobywieG1sOnNwYWNlIiwicHJlc2VydmUiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpfSxwKGUsW3RdKXsxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBkbihlLHQsbyl7bGV0e3dpZHRoOnI9IjVweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIHBuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLGRuLGNuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gdW4oZSl7bGV0IG8scixpLG47cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLGk9YigiZyIpLG1lKG49YigicGF0aCIpLCJkIiwiTTIwLjY4NywzOC4zMzJjLTIuMDcyLDIuMDcyLTUuNDM0LDIuMDcyLTcuNTA1LDBMMS41NTQsMjYuNzA0Yy0yLjA3Mi0yLjA3MS0yLjA3Mi01LjQzMywwLTcuNTA0XG5cdFx0XHRjMi4wNzEtMi4wNzIsNS40MzMtMi4wNzIsNy41MDUsMGw2LjkyOCw2LjkyN2MwLjUyMywwLjUyMiwxLjM3MiwwLjUyMiwxLjg5NiwwTDM2LjY0Miw3LjM2OGMyLjA3MS0yLjA3Miw1LjQzMy0yLjA3Miw3LjUwNSwwXG5cdFx0XHRjMC45OTUsMC45OTUsMS41NTQsMi4zNDUsMS41NTQsMy43NTJjMCwxLjQwNy0wLjU1OSwyLjc1Ny0xLjU1NCwzLjc1MkwyMC42ODcsMzguMzMyeiIpLHgoaSwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChpLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInZlcnNpb24iLCIxLjEiKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywieG1sbnM6eGxpbmsiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiksbWUobywidmlld0JveCIsIjAgMCA0NS43MDEgNDUuNyIpLG1lKG8sInhtbDpzcGFjZSIsInByZXNlcnZlIikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKSxzZShpLG4pfSxwKGUsW3RdKXsxJnQmJngobywid2lkdGgiLGVbMF0pLDEmdCYmeChvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBnbihlLHQsbyl7bGV0e3dpZHRoOnI9IjVweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIG1uIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLGduLHVuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gZm4oZSl7bGV0IG8scjtyZXR1cm4gbz1uZXcgbW4oe3Byb3BzOnt3aWR0aDoiN3B4In19KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBobihlKXtsZXQgbyxyO3JldHVybiBvPW5ldyBwbih7cHJvcHM6e3dpZHRoOiI3cHgifX0pLHtjKCl7eGUoby4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShvLGUsdCkscj0hMH0saShlKXtyfHwoaGUoby4kJC5mcmFnbWVudCxlKSxyPSEwKX0sbyhlKXtiZShvLiQkLmZyYWdtZW50LGUpLHI9ITF9LGQoZSl7d2UobyxlKX19fWZ1bmN0aW9uIGJuKG8pe2xldCByLGksbixhLHMsbCxjLGQscCx1PVtobixmbl0sZz1bXTtmdW5jdGlvbiBtKGUpe3JldHVybiBlWzBdPzE6MH1yZXR1cm4gbj1tKG8pLGE9Z1tuXT11W25dKG8pLHtjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2IiksYS5jKCksbWUoaSwiY2xhc3MiLHM9b1syXSh7YWN0aXZlOm9bMF19KSksbWUociwiY2xhc3MiLGw9b1sxXSh7YWN0aXZlOm9bMF19KSksbWUociwidGFiaW5kZXgiLCIwIil9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxnW25dLm0oaSxudWxsKSxjPSEwLGR8fChwPVtnZShyLCJjbGljayIsb1s2XSksZ2Uociwia2V5ZG93biIsb1s0XSldLGQ9ITApfSxwKGUsW3RdKXtsZXQgbz1uOyhuPW0oZSkpIT09byYmKGllKCksYmUoZ1tvXSwxLDEsKCk9PntnW29dPW51bGx9KSxuZSgpLChhPWdbbl0pfHwoYT1nW25dPXVbbl0oZSkpLmMoKSxoZShhLDEpLGEubShpLG51bGwpKSwoIWN8fDUmdCYmcyE9PShzPWVbMl0oe2FjdGl2ZTplWzBdfSkpKSYmbWUoaSwiY2xhc3MiLHMpLCghY3x8MyZ0JiZsIT09KGw9ZVsxXSh7YWN0aXZlOmVbMF19KSkpJiZtZShyLCJjbGFzcyIsbCl9LGkoZSl7Y3x8KGhlKGEpLGM9ITApfSxvKGUpe2JlKGEpLGM9ITF9LGQoZSl7ZSYmY2UociksZ1tuXS5kKCksZD0hMSxybyhwKX19fWZ1bmN0aW9uIHhuKGUsdCxvKXtsZXQgcj0kbygpLGk9dC5pZCx7YWN0aXZlOm49ITF9PXQsYT10LmNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyLHM9dC5jYXRlZ29yeVNlbGVjdG9ySWNvbjtyZXR1cm4gZS4kJHNldD1lPT57ImlkImluIGUmJm8oNSxpPWUuaWQpLCJhY3RpdmUiaW4gZSYmbygwLG49ZS5hY3RpdmUpLCJjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lciJpbiBlJiZvKDEsYT1lLmNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyKSwiY2F0ZWdvcnlTZWxlY3Rvckljb24iaW4gZSYmbygyLHM9ZS5jYXRlZ29yeVNlbGVjdG9ySWNvbil9LFtuLGEscyxyLGZ1bmN0aW9uKGUpeyJFbnRlciIhPT1lLmtleSYmIiAiIT09ZS5rZXl8fChlLnByZXZlbnREZWZhdWx0KCkscigidG9nZ2xlZCIsIW4pKX0saSwoKT0+cigidG9nZ2xlZCIsIW4pXX1jbGFzcyB5biBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSx4bixibixyLHtpZDo1LGFjdGl2ZTowLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOjEsY2F0ZWdvcnlTZWxlY3Rvckljb246Mn0pfX1mdW5jdGlvbiB3bihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJkIiwibTEyMS4zLDM0LjZjLTEuNi0xLjYtNC4yLTEuNi01LjgsMGwtNTEsNTEuMS01MS4xLTUxLjFjLTEuNi0xLjYtNC4yLTEuNi01LjgsMC0xLjYsMS42LTEuNiw0LjJcbiAgICAgIDAsNS44bDUzLjksNTMuOWMwLjgsMC44IDEuOCwxLjIgMi45LDEuMiAxLDAgMi4xLTAuNFxuICAgICAgMi45LTEuMmw1My45LTUzLjljMS43LTEuNiAxLjctNC4yIDAuMS01Ljh6IikseChyLCJhbmltYXRpb24iLCJub25lIiwxKSx4KHIsInRyYW5zZm9ybS1vcmlnaW4iLCJ1bnNldCIsMSksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLG1lKG8sInZpZXdCb3giLCIwIDAgMTI5IDEyOSIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ4bWxuczp4bGluayIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIENuKGUsdCxvKXtsZXR7d2lkdGg6cj0iOHB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3Mgdm4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsQ24sd24scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBrbihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJkIiwiTTM2MC43MzEsMjI5LjA3NWwtMjI1LjEtMjI1LjFjLTUuMy01LjMtMTMuOC01LjMtMTkuMSwwcy01LjMsMTMuOCwwLDE5LjFsMjE1LjUsMjE1LjVsLTIxNS41LDIxNS41XG4gICAgICBjLTUuMyw1LjMtNS4zLDEzLjgsMCwxOS4xYzIuNiwyLjYsNi4xLDQsOS41LDRjMy40LDAsNi45LTEuMyw5LjUtNGwyMjUuMS0yMjUuMUMzNjUuOTMxLDI0Mi44NzUsMzY1LjkzMSwyMzQuMjc1LDM2MC43MzEsMjI5LjA3NXoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ4bWxucyIsImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksbWUobywieG1sbnM6eGxpbmsiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiksbWUobywidmlld0JveCIsIjAgMCA0NzcuMTc1IDQ3Ny4xNzUiKSx4KG8sIndpZHRoIixlWzBdKSx4KG8sImhlaWdodCIsZVswXSksbWUobywieG1sOnNwYWNlIiwicHJlc2VydmUiKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEluKGUsdCxvKXtsZXR7d2lkdGg6cj0iOHB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgU24gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsSW4sa24scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBUbihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJmaWxsLXJ1bGUiLCJldmVub2RkIiksbWUoaSwiY2xpcC1ydWxlIiwiZXZlbm9kZCIpLG1lKGksImQiLCJNNTUuNzEzLDBjMjAuODQ4LDEzLjIxNSwzOS42ODIsMTkuNDY3LDU1Ljg0NiwxNy45ODkgYzIuODIzLDU3LjA5OC0xOC4yNjMsOTAuODE4LTU1LjYzLDEwNC44OTFDMTkuODQ0LDEwOS43MDgtMS41LDc3LjQzOSwwLjA4MywxNy4xMjNDMTkuMDU4LDE4LjExNiwzNy42NzQsMTQuMDE0LDU1LjcxMywwTDU1LjcxMywwIHogTTMzLjc4NCw2Ni43NzVjLTEuMTgtMS4wMS0xLjMxOC0yLjc4Ni0wLjMwOS0zLjk2N2MxLjAxMS0xLjE4MSwyLjc4Ny0xLjMxOCwzLjk2Ny0wLjMwOWwxMS40OTQsOS44NzVsMjUuMTgtMjcuNjg0IGMxLjA0Ny0xLjE1LDIuODI4LTEuMjM0LDMuOTc5LTAuMTg4YzEuMTQ5LDEuMDQ2LDEuMjMzLDIuODI3LDAuMTg3LDMuOTc4TDUxLjI2Miw3OC4xODhsLTAuMDAyLTAuMDAyIGMtMS4wMiwxLjEyMS0yLjc1MSwxLjIzNi0zLjkxLDAuMjQ0TDMzLjc4NCw2Ni43NzVMMzMuNzg0LDY2Ljc3NXoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ2ZXJzaW9uIiwiMS4xIiksbWUobywidmlld0JveCIsIjAgMCAxMTEuODExIDEyMi44OCIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIExuKGUsdCxvKXtsZXR7d2lkdGg6cj0iMTJweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzICRuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLExuLFRuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gQW4oZSl7bGV0IG8scixpO3JldHVybntjKCl7bz1iKCJzdmciKSxyPWIoImciKSxtZShpPWIoInBhdGgiKSwiZCIsIk0yLjAzLDU2LjUyYy0yLjY2LDIuNTgtMi43Miw2LjgzLTAuMTMsOS40OWMyLjU4LDIuNjYsNi44MywyLjcyLDkuNDksMC4xM2wyNy42NS0yNi45OGwyMy4xMiwyMi4zMSBjMi42NywyLjU3LDYuOTIsMi40OSw5LjQ5LTAuMThsMzcuNzctMzguMjJ2MTkuMjdjMCwzLjcyLDMuMDEsNi43Myw2LjczLDYuNzNzNi43My0zLjAxLDYuNzMtNi43M1Y2LjcxaC0wLjAyIGMwLTEuNzQtMC42Ny0zLjQ3LTItNC43OGMtMS40MS0xLjM5LTMuMjktMi4wMy01LjEzLTEuOTFIODIuNGMtMy43MiwwLTYuNzMsMy4wMS02LjczLDYuNzNjMCwzLjcyLDMuMDEsNi43Myw2LjczLDYuNzNoMTcuNjMgTDY2LjcsNDcuMkw0My42NywyNC45N2MtMi42LTIuNS02LjczLTIuNTEtOS4zMywwLjAzTDIuMDMsNTYuNTJMMi4wMyw1Ni41MnoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDEyMi44OCA2OC4wNCIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEVuKGUsdCxvKXtsZXR7d2lkdGg6cj0iMTJweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIFJuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEVuLEFuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gT24oZSl7bGV0IG8scixpO3JldHVybntjKCl7bz1iKCJzdmciKSxyPWIoImciKSxtZShpPWIoInBhdGgiKSwiZCIsIk02OC45ODgsNy43MThIMjcuMTQ0Yy0yLjczLDAtNS4yNSwwLjQ3My03LjUwOCwxLjQxOGMtMi4yNTgsMC45NDUtNC4zNTcsMi4zNjItNi4yNDgsNC4yNTIgYy0xLjg5LDEuODktMy4zMDcsMy45OS00LjI1Miw2LjI0OGMtMC45NDUsMi4yNTgtMS40MTcsNC43NzctMS40MTcsNy41MDhWNjcuOTljMCwyLjczLDAuNDczLDUuMjUsMS40MTcsNy41MDggYzAuOTQ1LDIuMjU4LDIuMzYzLDQuMzU3LDQuMjUyLDYuMjQ4YzEuOTQzLDEuODksNC4wNDMsMy4zNiw2LjMwMSw0LjI1MmMyLjI1OCwwLjk0NSw0LjcyNSwxLjQxOCw3LjQ1NSwxLjQxOGgxNy45NTYgYzIuMTAxLDAsMy44MzMsMS43MzIsMy44MzMsMy44MzNjMCwwLjQ3My0wLjEwNSwwLjg5My0wLjIxLDEuMzEzYy0wLjY4MywyLjUyLTEuNDE3LDUuMDQtMi4yNTgsNy40NTUgYy0wLjg5MywyLjU3Mi0xLjgzNyw0Ljk4Ny0yLjg4OCw3LjM1Yy0wLjUyNSwxLjIwOC0xLjE1NSwyLjM2My0xLjgzNywzLjU3YzMuNjc1LTEuNjI3LDcuMTQtMy41MTgsMTAuMzQzLTUuNjE3IGMzLjM2LTIuMjA1LDYuNTExLTQuNjczLDkuMzk4LTcuMzUxYzIuOTM5LTIuNzMsNS41NjQtNS43MjMsNy45NzktOC45MjVjMC43MzUtMC45OTgsMS44OTEtMS41MjIsMy4wNDYtMS41MjJoMTUuNDM2IGMyLjcyOSwwLDUuMTk3LTAuNDczLDcuNDU1LTEuNDE4YzIuMjU4LTAuOTQ0LDQuMzU3LTIuMzYyLDYuMzAxLTQuMjUzYzEuODktMS44OSwzLjMwNy0zLjk5LDQuMjUyLTYuMjQ4IGMwLjk0NS0yLjI1NywxLjQxOC00Ljc3NywxLjQxOC03LjUwOFYyNy4yNDljMC0yLjczLTAuNDczLTUuMjUtMS40MTgtNy41MDhjLTAuOTQ1LTIuMjU4LTIuMzYyLTQuMzU4LTQuMjUyLTYuMjQ4IGMtMS44OTEtMS44OS0zLjk5MS0zLjMwOC02LjI0OC00LjI1MmMtMi4yNTgtMC45NDUtNC43NzgtMS40MTctNy41MDgtMS40MTdINjguOTg4VjcuNzE4TDY4Ljk4OCw3LjcxOHogTTM4LjMyNSw1Mi44MTYgYy0wLjkxOC0wLjg4Mi0xLjM5NC0yLjA1Ny0xLjQxOC0zLjIzOWMtMC4wMjMtMS4xODIsMC40MDQtMi4zNzUsMS4yODYtMy4yOTRjMC44ODItMC45MTgsMi4wNTYtMS4zOTQsMy4yMzgtMS40MTcgYzEuMTgzLTAuMDI0LDIuMzc1LDAuNDAxLDMuMjk0LDEuMjg1bDcuOTQxLDcuNjRsMTUuODA4LTIwLjA4MWMtMC4wMDctMC4wMiwwLjEzMi0wLjEzNywwLjE1My0wLjE1MiBjMS45MDUtMS42NDksNC43NzktMS40NjYsNi40NjMsMC40MTFjMS42ODYsMS44OCwxLjU0OSw0Ljc2Ny0wLjMwOCw2LjQ3N0w1NS44MSw2My41NGMwLjAwOSwwLjAwOS0wLjEwNCwwLjEwOC0wLjExNywwLjExOSBjLTAuODg4LDAuNzc5LTIuMDEsMS4xNjItMy4xMjUsMS4xNDNjLTEuMTI1LTAuMDItMi4yNDctMC40NDYtMy4xMjEtMS4yODVMMzguMzI1LDUyLjgxNkwzOC4zMjUsNTIuODE2eiBNNDYuMDk3LDAuMDUzaDQxLjg0NSBjMy42NzUsMCw3LjE0LDAuNjgzLDEwLjM5NSwxLjk5NWMzLjIwMywxLjMxMyw2LjE0NCwzLjMwOCw4Ljc2OSw1LjkzM2MyLjYyNSwyLjYyNSw0LjYyLDUuNTY1LDUuOTMzLDguNzY4IGMxLjMxMywzLjIwMywxLjk5NCw2LjY2OCwxLjk5NCwxMC4zOTZWNjcuOTljMCwzLjcyOC0wLjY4Miw3LjE5Mi0xLjk5NCwxMC4zOTZzLTMuMzA4LDYuMTQzLTUuOTMzLDguNzY4cy01LjU2NSw0LjU2OC04Ljc2OSw1LjkzMyBjLTMuMjAyLDEuMzEzLTYuNjY3LDEuOTk1LTEwLjM5NSwxLjk5NUg3NC4zOTZjLTIuMzYyLDIuOTkzLTQuOTM2LDUuODI4LTcuNjY1LDguNGMtMy4yNTYsMy4wNDUtNi43MjEsNS43NzUtMTAuNDQ4LDguMTkgYy0zLjcyOCwyLjQ2OC03LjcxOCw0LjYyLTExLjk3MSw2LjQ1OGMtNC4yLDEuODM4LTguNzE1LDMuMzU5LTEzLjQ0LDQuNjJjLTEuMzY1LDAuMzY3LTIuODM1LTAuMDUzLTMuODMzLTEuMTU1IGMtMS40MTctMS41NzUtMS4yNi0zLjk5LDAuMzE1LTUuNDA4YzIuMjA1LTEuOTQyLDQuMDk1LTMuOTM4LDUuNjE4LTUuOTMyYzEuNDctMS45NDMsMi42NzgtMy45MzgsMy41Ny01Ljk4NnYtMC4wNTIgYzAuOTk4LTIuMjA1LDEuODkxLTQuNDYzLDIuNjc4LTYuNzIxYzAuMjYyLTAuNzg3LDAuNTI1LTEuNjI3LDAuNzg4LTIuNDY3SDI3LjA5MWMtMy42NzUsMC03LjE0LTAuNjgzLTEwLjM5Ni0xLjk5NiBjLTMuMjAzLTEuMzEyLTYuMTQzLTMuMzA3LTguNzY4LTUuOTMzYy0yLjYyNS0yLjYyNS00LjYyLTUuNTY0LTUuOTMzLTguNzY4QzAuNjgzLDc1LjA3OCwwLDcxLjYxMywwLDY3LjkzOFYyNy4wOTEgYzAtMy42NzUsMC42ODMtNy4xNDEsMS45OTUtMTAuMzk2YzEuMzEzLTMuMjAzLDMuMzA4LTYuMTQzLDUuOTMzLTguNzY4YzIuNjI1LTIuNjI1LDUuNTY1LTQuNjIsOC43NjgtNS45MzNTMjMuMzYzLDAsMjcuMDkxLDAgaDE4Ljk1M0w0Ni4wOTcsMC4wNTNMNDYuMDk3LDAuMDUzeiIpLHgociwiYW5pbWF0aW9uIiwibm9uZSIsMSkseChyLCJ0cmFuc2Zvcm0tb3JpZ2luIiwidW5zZXQiLDEpLG1lKG8sInZlcnNpb24iLCIxLjEiKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDExNS4wMzEgMTIyLjg4IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKX0scChlLFt0XSl7MSZ0JiZ4KG8sIndpZHRoIixlWzBdKSwxJnQmJngobywiaGVpZ2h0IixlWzBdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gRG4oZSx0LG8pe2xldHt3aWR0aDpyPSIxMnB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57IndpZHRoImluIGUmJm8oMCxyPWUud2lkdGgpfSxbcl19Y2xhc3MgQm4gZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsRG4sT24scix7d2lkdGg6MH0pfX1mdW5jdGlvbiBQbihlKXtsZXQgbyxyLGk7cmV0dXJue2MoKXtvPWIoInN2ZyIpLHI9YigiZyIpLG1lKGk9YigicGF0aCIpLCJkIiwiTTk3Ljk3NywxOC43MDVjLTAuMzMtMC4zMy0wLjY3LTAuNTY4LTEuMDItMC43MTZjLTAuMzI4LTAuMTM5LTAuNzExLTAuMjA3LTEuMTUtMC4yMDdjLTAuNDQxLDAtMC44MzIsMC4wNy0xLjE2NCwwLjIxMSBjLTAuMzQ0LDAuMTQ1LTAuNjc2LDAuMzc5LTAuOTk0LDAuNzAybC0wLjAyMSwwLjAyMWwtNi4yMDcsNi4xODhjLTAuOTMsMC45MjUtMi4zNjcsMS4wMjgtMy40MSwwLjMxMyBjLTAuNzMtMC40NzItMS41MDgtMC45MjctMi4zMjQtMS4zNjhjLTAuODY1LTAuNDY4LTEuNzEzLTAuODg4LTIuNTQxLTEuMjY4Yy0wLjg2My0wLjM5NC0xLjc0NC0wLjc2NS0yLjY0MS0xLjExMyBjLTAuODEzLTAuMzE2LTEuNzE5LTAuNjM4LTIuNzA3LTAuOTY0Yy0xLjEzMS0wLjM3My0xLjg1LTEuNDI1LTEuODUtMi41NTZsMCwwVjguNDNjMC0wLjQ1Ni0wLjA3Mi0wLjg1OS0wLjIxNS0xLjIxIGMtMC4xNDMtMC4zNDctMC4zNjEtMC42Ny0wLjY2Mi0wLjk3Yy0wLjI5My0wLjI5My0wLjYxMS0wLjUxLTAuOTU5LTAuNjUxYy0wLjM1LTAuMTQzLTAuNzU0LTAuMjE0LTEuMjExLTAuMjE0SDU2Ljk1NiBjLTAuNDIzLDAtMC43OTgsMC4wNjgtMS4xMjYsMC4yMDRjLTAuMzQ4LDAuMTQzLTAuNjg5LDAuMzc3LTEuMDI2LDAuNzAzTDU0LjgsNi4yOTVjLTAuMjk2LDAuMjk2LTAuNTE0LDAuNjExLTAuNjU0LDAuOTQ2IEM1NC4wMDIsNy41ODQsNTMuOTMsNy45OCw1My45Myw4LjQzdjguNzE0YzAsMS4zMjUtMC45NTcsMi40MjYtMi4yMTcsMi42NTFjLTAuOTU3LDAuMjI4LTEuODQxLDAuNDY0LTIuNjQ2LDAuNzExIGMtMC44ODIsMC4yNy0xLjc2OSwwLjU3Ny0yLjY1OCwwLjkyNGMtMC4wNDQsMC4wMTctMC4wODgsMC4wMzMtMC4xMzIsMC4wNDdjLTAuNzc3LDAuMzAyLTEuNTk2LDAuNjUyLTIuNDU2LDEuMDQ5IGMtMC44NzQsMC40MDMtMS42ODgsMC44MTItMi40NDIsMS4yMjNjLTEuMDYzLDAuNTc5LTIuMzQ1LDAuMzY0LTMuMTY1LTAuNDQzbC0wLjAwMSwwLjAwMWwtNi44NzQtNi43NzUgYy0wLjAyMS0wLjAyMS0wLjA0Mi0wLjA0Mi0wLjA2My0wLjA2M2wwLDAuMDAxYy0wLjI5My0wLjMxLTAuNjAxLTAuNTM3LTAuOTI0LTAuNjc4Yy0wLjMxLTAuMTM1LTAuNjc3LTAuMjA0LTEuMTA1LTAuMjA0IGMtMC40MjUsMC0wLjgwNSwwLjA3Mi0xLjEzOSwwLjIxNWMtMC4zNjYsMC4xNTYtMC43MTYsMC40LTEuMDUyLDAuNzI5bC0wLjAwMiwwLjAwMmwtOC4zMzksOC4zNThsLTAuMDA1LDAuMDA2bDAuMDA1LDAuMDA1IGMtMC4zNDIsMC4zNDItMC41ODQsMC42ODItMC43MjcsMS4wMmMtMC4xMzksMC4zMjgtMC4yMDgsMC43MTEtMC4yMDgsMS4xNDljMCwwLjQ0MiwwLjA3LDAuODMyLDAuMjExLDEuMTY2IGMwLjE0NSwwLjM0MywwLjM3OCwwLjY3NSwwLjcwMiwwLjk5M2wwLjAyMSwwLjAyMWw2LjE4OCw2LjIwOGMwLjkyNSwwLjkzLDEuMDI4LDIuMzY3LDAuMzEzLDMuNDEgYy0wLjQ3MiwwLjczMS0wLjkyNywxLjUwOC0xLjM2NywyLjMyNGMtMC40NjgsMC44NjYtMC44ODgsMS43MTItMS4yNjgsMi41NDJjLTAuMzk1LDAuODYyLTAuNzY2LDEuNzQ0LTEuMTE1LDIuNjQxIGMtMC4zMTYsMC44MTItMC42MzcsMS43MTgtMC45NjMsMi43MDZjLTAuMzczLDEuMTMyLTEuNDI2LDEuODUtMi41NTYsMS44NXYwLjAwMUg4LjQzMWMtMC40NTgsMC0wLjg2LDAuMDcxLTEuMjExLDAuMjEzIGMtMC4zNDYsMC4xNDItMC42NjYsMC4zNTgtMC45NTgsMC42NTFMNi4yNTEsNTEuODFsMCwwYy0wLjI5MywwLjI5My0wLjUxLDAuNjEyLTAuNjUyLDAuOTU4Yy0wLjE0MywwLjM1MS0wLjIxMywwLjc1NC0wLjIxMywxLjIxMSB2MTEuOTQ2YzAsMC40MjIsMC4wNjcsMC43OTgsMC4yMDMsMS4xMjVjMC4xNDQsMC4zNDgsMC4zNzgsMC42ODksMC43MDQsMS4wMjdsMC4wMDMsMC4wMDJjMC4yOTUsMC4yOTYsMC42MTEsMC41MTUsMC45NDUsMC42NTQgYzAuMzQ0LDAuMTQ0LDAuNzQsMC4yMTYsMS4xOSwwLjIxNmg4LjcxM2MxLjMyNSwwLDIuNDI2LDAuOTU3LDIuNjUxLDIuMjE4YzAuMjI4LDAuOTU2LDAuNDY0LDEuODQxLDAuNzExLDIuNjQ2IGMwLjI3MSwwLjg4MiwwLjU3NywxLjc2OCwwLjkyNCwyLjY1N2MwLjMyNiwwLjg0NywwLjY5NiwxLjcyNywxLjEwOCwyLjYzOWMwLjQyMSwwLjkzMywwLjgzMywxLjc4MywxLjIzMywyLjU1MiBjMC41NTcsMS4wNjYsMC4zMjYsMi4zMzYtMC40ODYsMy4xNDNsMC4wMDIsMC4wMDJsLTYuNzc2LDYuNzU2bC0wLjA0MywwLjA0MmgwLjAwMWMtMC4zMSwwLjI5NC0wLjUzNywwLjYwMi0wLjY3NywwLjkyNCBjLTAuMTM2LDAuMzEtMC4yMDQsMC42NzgtMC4yMDQsMS4xMDZjMCwwLjQyNSwwLjA3MiwwLjgwNCwwLjIxNCwxLjEzOGMwLjE1NiwwLjM2NiwwLjQsMC43MTcsMC43MywxLjA1Mmw4LjMwOSw4LjQwNSBjMC4zMjUsMC4zMDEsMC42NjQsMC41MjEsMS4wMTksMC42NmMwLjM1NiwwLjE0MSwwLjc2LDAuMjEsMS4yMTIsMC4yMWMwLjQ1NiwwLDAuODY3LTAuMDcxLDEuMjI5LTAuMjE0IGMwLjM0OC0wLjEzNywwLjY3NS0wLjM0NywwLjk3OC0wLjYzMWw2LjE1OS02LjI1N2MwLjkyOS0wLjk0NCwyLjM4NC0xLjA1NywzLjQzOC0wLjMyOWMwLjcyOSwwLjQ3LDEuNTA0LDAuOTIzLDIuMzE4LDEuMzYyIGMwLjg2NiwwLjQ2OSwxLjcxMiwwLjg4OSwyLjU0MiwxLjI2OGMwLjg2MiwwLjM5NiwxLjc0NCwwLjc2NywyLjY0MSwxLjExNWMwLjgxMiwwLjMxNSwxLjcxNywwLjYzNywyLjcwNiwwLjk2MyBjMS4xMzIsMC4zNzMsMS44NSwxLjQyNiwxLjg1LDIuNTU2aDAuMDAxdjkuNTE4YzAsMC40NTYsMC4wNzEsMC44NTksMC4yMTQsMS4yMWMwLjE0MiwwLjM0NywwLjM1OCwwLjY2NiwwLjY1MSwwLjk1OWwwLjAwNSwwLjAwNiBsMC4wMDUtMC4wMDZjMC41ODcsMC41ODcsMS4zMDcsMC44NzYsMi4xNjksMC44NzZoMTEuOTQ0YzAuNDI0LDAsMC43OTktMC4wNjcsMS4xMjctMC4yMDNjMC4zNDgtMC4xNDQsMC42ODktMC4zNzgsMS4wMjUtMC43MDQgbDAuMDA0LTAuMDAzYzAuMjk1LTAuMjk2LDAuNTE0LTAuNjExLDAuNjU0LTAuOTQ1YzAuMTQ1LTAuMzQ0LDAuMjE3LTAuNzM5LDAuMjE3LTEuMTg5di04LjcxNWMwLTEuMzI0LDAuOTU1LTIuNDI2LDIuMjE3LTIuNjUgYzAuOTU1LTAuMjI4LDEuODQtMC40NjUsMi42NDYtMC43MTFjMC44ODEtMC4yNzEsMS43NjgtMC41NzcsMi42NTYtMC45MjNjMC44NDgtMC4zMjcsMS43MjktMC42OTcsMi42NDMtMS4xMDkgYzAuOTMtMC40MjEsMS43ODEtMC44MzIsMi41NDctMS4yMzJjMS4wNjgtMC41NTcsMi4zMzgtMC4zMjUsMy4xNDUsMC40ODZsMC4wMDItMC4wMDJsNi43NTYsNi43NzVsMC4wNDEsMC4wNDN2LTAuMDAxIGMwLjI5NywwLjMxMiwwLjYwNSwwLjUzOCwwLjkyNiwwLjY3OGMwLjMxNCwwLjEzNSwwLjY5MywwLjIwNCwxLjE0NSwwLjIwNGMwLjQ0MywwLDAuODI4LTAuMDcyLDEuMTYtMC4yMTUgYzAuMzM0LTAuMTQ1LDAuNjQ1LTAuMzY4LDAuOTI4LTAuNjY3YzAuMDMxLTAuMDM0LDAuMDY0LTAuMDY3LDAuMS0wLjFsOC4zNjktOC4yNzJjMC4yOTktMC4zMjQsMC41Mi0wLjY2NCwwLjY1OC0xLjAxOSBjMC4xNDEtMC4zNTYsMC4yMTEtMC43NjEsMC4yMTEtMS4yMTNjMC0wLjQ1Ni0wLjA3LTAuODY3LTAuMjEzLTEuMjI5Yy0wLjEzOS0wLjM0OC0wLjM0OC0wLjY3NC0wLjYzMy0wLjk3N2wtNi4yNTYtNi4xNiBjLTAuOTQ1LTAuOTI5LTEuMDU3LTIuMzgzLTAuMzMtMy40MzhjMC40NzEtMC43MjksMC45MjQtMS41MDQsMS4zNjMtMi4zMTdjMC40NjktMC44NjUsMC44ODktMS43MTIsMS4yNjgtMi41NDIgYzAuMzk1LTAuODYyLDAuNzY2LTEuNzQ0LDEuMTE1LTIuNjQxYzAuMzE0LTAuODEyLDAuNjM3LTEuNzE4LDAuOTYzLTIuNzA3YzAuMzczLTEuMTMyLDEuNDI2LTEuODUsMi41NTctMS44NXYtMC4wMDFoOS41MTYgYzAuNDU3LDAsMC44NjEtMC4wNzEsMS4yMTEtMC4yMTRjMC4zNDYtMC4xNDIsMC42NjYtMC4zNTgsMC45NTktMC42NWwwLjAxLTAuMDExbDAsMGMwLjI5My0wLjI5NCwwLjUxMi0wLjYxMywwLjY1Mi0wLjk2IGMwLjE0My0wLjM1LDAuMjEzLTAuNzUzLDAuMjEzLTEuMjFWNTYuOTU1YzAtMC40MjItMC4wNjYtMC43OTgtMC4yMDMtMS4xMjZjLTAuMTQzLTAuMzQ3LTAuMzc3LTAuNjg5LTAuNzAzLTEuMDI3bC0wLjAwNC0wLjAwMyBjLTAuMjk1LTAuMjk2LTAuNjExLTAuNTE0LTAuOTQ1LTAuNjU0Yy0wLjM0Mi0wLjE0NC0wLjczOC0wLjIxNi0xLjE4OS0wLjIxNmgtOC43MTNjLTEuMzQyLDAtMi40NTMtMC45NzktMi42NTgtMi4yNjIgYy0wLjIxMS0wLjg0My0wLjQ0OS0xLjY5OC0wLjcxOS0yLjU2NmMtMC4yNi0wLjgzMy0wLjU2NC0xLjcxNC0wLjkyLTIuNjQ1Yy0wLjAxOC0wLjA0NS0wLjAzMy0wLjA5MS0wLjA0Ny0wLjEzNyBjLTAuMzM4LTAuODg1LTAuNjg0LTEuNzE3LTEuMDM5LTIuNDk2Yy0wLjM4NS0wLjg0My0wLjc5My0xLjY1OC0xLjIyNS0yLjQ0NmMtMC41NzgtMS4wNjMtMC4zNjMtMi4zNDUsMC40NDMtMy4xNjV2LTAuMDAxIGw2Ljc3NS02Ljg3NGMwLjAyMS0wLjAyMSwwLjA0MS0wLjA0MiwwLjA2My0wLjA2M3YwYzAuMzExLTAuMjkzLDAuNTM3LTAuNjAxLDAuNjc4LTAuOTIzYzAuMTM1LTAuMzEsMC4yMDUtMC42NzcsMC4yMDUtMS4xMDUgYzAtMC40MjUtMC4wNzItMC44MDUtMC4yMTUtMS4xMzljLTAuMTU2LTAuMzY2LTAuNC0wLjcxNi0wLjczLTEuMDUybC0wLjAwMi0wLjAwMmwtOC4zNTktOC4zMzlMOTcuOTc3LDE4LjcwNUw5Ny45NzcsMTguNzA1IEw5Ny45NzcsMTguNzA1eiBNOTkuMDM5LDEzLjA0NGMxLjAwMiwwLjQyMywxLjkxMiwxLjA0MiwyLjczMiwxLjg2MmwwLjAwMiwwLjAwMWw4LjM4MSw4LjM2MmwwLjAyMSwwLjAyMSBjMC44MDcsMC44MiwxLjQyNCwxLjcyMywxLjg0NiwyLjcxM2MwLjQzNiwxLjAyMSwwLjY1NiwyLjEwMiwwLjY1NiwzLjI0M2MwLDEuMTU4LTAuMjI1LDIuMjQtMC42NjgsMy4yNTEgYy0wLjQzMiwwLjk5Mi0xLjA2MywxLjg3NC0xLjg3OSwyLjY1M2wtNS4zNjcsNS40NDVjMC4xNTgsMC4zMjksMC4zMTYsMC42NjIsMC40NjksMC45OTljMC40MywwLjkzOCwwLjgyNCwxLjg3OCwxLjE4MiwyLjgxOSBjMC4wMiwwLjA0MiwwLjAzNywwLjA4NSwwLjA1MywwLjEyOWMwLjM1NywwLjkzNywwLjY5OSwxLjkzMywxLjAyNSwyLjk4MWMwLjEwNSwwLjMzOCwwLjIwNywwLjY3OCwwLjMwNSwxLjAyMWg2LjY1MiBjMS4xNTYsMCwyLjIzOCwwLjIxMiwzLjI1MiwwLjYzNmMwLjk5NiwwLjQxNywxLjg5NiwxLjAzMiwyLjY5OSwxLjg0MWwwLjA1NywwLjA1N2MwLjc5MSwwLjgxOCwxLjM5MSwxLjcyLDEuNzk5LDIuNzEgYzAuNDE4LDEuMDA3LDAuNjI1LDIuMDYyLDAuNjI1LDMuMTY3VjY4LjljMCwxLjE0OS0wLjIwMywyLjIyNS0wLjYxMywzLjIzYy0wLjQxLDEuMDAzLTEuMDIxLDEuOTE0LTEuODM4LDIuNzMzbC0wLjAwNCwwLjAwMyBsLTAuMDA2LDAuMDA3bC0wLjAwNCwwLjAwNGMtMC44MiwwLjgxNy0xLjczLDEuNDMtMi43MzYsMS44NGMtMS4wMDYsMC40MDktMi4wODIsMC42MTMtMy4yMywwLjYxM2gtNy42MDkgYy0wLjEzMywwLjM1OC0wLjI3MSwwLjcyOC0wLjQyLDEuMTA2Yy0wLjM4MSwwLjk3OS0wLjc5MywxLjk1OC0xLjI0LDIuOTM2Yy0wLjQ2MywxLjAxMS0wLjkzNCwxLjk2Ni0xLjQxNCwyLjg1NyBjLTAuMTU4LDAuMjkyLTAuMzIsMC41ODMtMC40ODYsMC44NzRsNC43NSw0LjY3NmMwLjAzNSwwLjAzMywwLjA2OCwwLjA2NiwwLjEwNCwwLjEwMmMwLjc3OSwwLjgyNCwxLjM2NSwxLjczOSwxLjc2LDIuNzM5IGMwLjM5NiwxLjAwNCwwLjU5MiwyLjA2OCwwLjU5MiwzLjE4NmMwLDEuMTE0LTAuMTk1LDIuMTY5LTAuNTg4LDMuMTY5Yy0wLjM5MywwLjk5Ny0wLjk3MywxLjkwOC0xLjc0NCwyLjczNHYtMC4wMDEgYy0wLjAyNywwLjAyOC0wLjA1NSwwLjA1OC0wLjA4NCwwLjA4NmwtOC40Myw4LjMzM2MtMC43OTEsMC44MjktMS42ODIsMS40NjMtMi42ODIsMS44OTNjLTEuMDEsMC40MzYtMi4xMDIsMC42NTctMy4yODMsMC42NTcgYy0xLjE1NiwwLTIuMjQ2LTAuMjI2LTMuMjctMC42NjdjLTEuMDE0LTAuNDM5LTEuOTEtMS4wNzQtMi42OTEtMS44OThsLTUuMzQ0LTUuMzU4Yy0wLjM1NywwLjE3Mi0wLjcwNywwLjMzNS0xLjA0NywwLjQ4OSBjLTAuOTEsMC40MS0xLjg4MywwLjgxNS0yLjkxNiwxLjIxNGMtMC45NzEsMC4zNzgtMS45ODQsMC43MjctMy4wMzUsMS4wNDljLTAuMzUsMC4xMDctMC42OTUsMC4yMDktMS4wMzUsMC4zMDZ2Ni42MzggYzAsMS4xNTUtMC4yMTMsMi4yMzgtMC42MzcsMy4yNTFjLTAuNDE4LDAuOTk3LTEuMDMxLDEuODk2LTEuODQyLDIuN2wtMC4wNTcsMC4wNThjLTAuODE4LDAuNzg5LTEuNzIxLDEuMzg4LTIuNzA5LDEuNzk4IGMtMS4wMDgsMC40MTctMi4wNjMsMC42MjQtMy4xNjgsMC42MjRINTMuOTc5Yy0yLjM0OSwwLTQuMzMzLTAuODEtNS45NzctMi40NTRsMC4wMDUtMC4wMDVjLTAuODItMC44MjEtMS40MzUtMS43MzQtMS44NDUtMi43NDEgYy0wLjQxLTEuMDA2LTAuNjE0LTIuMDgxLTAuNjE0LTMuMjN2LTcuNjA5Yy0wLjM1OS0wLjEzMy0wLjcyOC0wLjI3Mi0xLjEwNy0wLjQyYy0wLjk3OC0wLjM4MS0xLjk1Ny0wLjc5My0yLjkzNS0xLjI0MSBjLTEuMDExLTAuNDYyLTEuOTY2LTAuOTM0LTIuODU4LTEuNDE1Yy0wLjI5MS0wLjE1Ny0wLjU4Mi0wLjMxOS0wLjg3My0wLjQ4NWwtNC42NzYsNC43NWMtMC4wMzMsMC4wMzUtMC4wNjcsMC4wNjktMC4xMDIsMC4xMDMgYy0wLjgyNCwwLjc4MS0xLjczOSwxLjM2Ny0yLjczOSwxLjc2MWMtMS4wMDQsMC4zOTYtMi4wNjgsMC41OTMtMy4xODYsMC41OTNjLTEuMTE0LDAtMi4xNy0wLjE5NS0zLjE2OS0wLjU4OSBjLTAuOTk3LTAuMzkzLTEuOTA3LTAuOTczLTIuNzM0LTEuNzQzbDAuMDAxLTAuMDAyYy0wLjAyOS0wLjAyNi0wLjA1OC0wLjA1NC0wLjA4NS0wLjA4M2wtOC4zODEtOC40NzggYy0wLjgwNi0wLjgyLTEuNDIzLTEuNzI0LTEuODQ1LTIuNzE0Yy0wLjQzNS0xLjAyMi0wLjY1Ni0yLjEwMi0wLjY1Ni0zLjI0MmMwLTEuMTU4LDAuMjI1LTIuMjQsMC42NjctMy4yNTIgYzAuNDM3LTAuOTk5LDEuMDcxLTEuODg2LDEuODk3LTIuNjdsNS4zNTktNS4zNDRjLTAuMTcyLTAuMzU3LTAuMzM2LTAuNzA3LTAuNDktMS4wNWMtMC40MTEtMC45MDktMC44MTUtMS44OC0xLjIxMy0yLjkxMiBjLTAuMzc4LTAuOTcxLTAuNzI4LTEuOTg0LTEuMDUtMy4wMzZjLTAuMTA3LTAuMzUxLTAuMjA5LTAuNjk1LTAuMzA2LTEuMDM1SDguNDMxYy0xLjE1NiwwLTIuMjM5LTAuMjEzLTMuMjUxLTAuNjM3IGMtMC45OTgtMC40MTctMS44OTctMS4wMzEtMi43LTEuODQxTDIuNDIyLDcxLjhjLTAuNzktMC44MTctMS4zODktMS43Mi0xLjc5OC0yLjcwOUMwLjIwNyw2OC4wODMsMCw2Ny4wMjgsMCw2NS45MjVWNTMuOTc5IGMwLTEuMTQ5LDAuMjA0LTIuMjI1LDAuNjE0LTMuMjNjMC40MS0xLjAwNSwxLjAyMS0xLjkxNiwxLjgzOS0yLjczNWwwLjAwMS0wLjAwMWwwLjAwNi0wLjAwNWwwLjAwNS0wLjAwNSBjMC44Mi0wLjgxOCwxLjczLTEuNDMsMi43MzYtMS44NGMxLjAwNS0wLjQxLDIuMDgxLTAuNjEzLDMuMjMtMC42MTNoNy42MDljMC4xMzItMC4zNTksMC4yNzItMC43MjgsMC40Mi0xLjEwNyBjMC4zOC0wLjk3OCwwLjc5My0xLjk1NywxLjI0MS0yLjkzNmMwLjQ2Mi0xLjAxMSwwLjkzMy0xLjk2NiwxLjQxNS0yLjg1N2MwLjE2LTAuMjk3LDAuMzI2LTAuNTk0LDAuNDk2LTAuODkxbC00LjY4MS00LjY5NiBsLTAuMDAyLTAuMDAxYy0wLjgyNy0wLjgxMy0xLjQ1My0xLjcyOC0xLjg4LTIuNzM5Yy0wLjQzNy0xLjAzMi0wLjY1My0yLjExOC0wLjY1My0zLjI0OWMwLTEuMTI5LDAuMjE1LTIuMjA1LDAuNjQ5LTMuMjMyIGMwLjQzLTEuMDE3LDEuMDUtMS45MzIsMS44NjMtMi43NDVsMC4wMDUsMC4wMDVsOC4zNTYtOC4zNzZsMC4wMjEtMC4wMjFjMC44Mi0wLjgwNiwxLjcyMy0xLjQyMywyLjcxMy0xLjg0NSBjMS4wMjItMC40MzUsMi4xMDItMC42NTcsMy4yNDMtMC42NTdjMS4xNTcsMCwyLjIzOSwwLjIyNSwzLjI1MSwwLjY2N2MwLjk5MiwwLjQzMywxLjg3NCwxLjA2MywyLjY1MywxLjg4bDUuNDQxLDUuMzYyIGMwLjMyNy0wLjE2MiwwLjY1My0wLjMxNywwLjk3OC0wLjQ2N2MwLjgzNy0wLjM4NiwxLjc2MS0wLjc3NSwyLjc3Mi0xLjE2N2MwLjA0My0wLjAyLDAuMDg3LTAuMDM4LDAuMTMxLTAuMDU1IGMwLjk3MS0wLjM3OCwxLjk4NS0wLjcyOCwzLjAzNy0xLjA1YzAuMzUtMC4xMDcsMC42OTUtMC4yMDksMS4wMzUtMC4zMDZWOC40M2MwLTEuMTU1LDAuMjEzLTIuMjM4LDAuNjM3LTMuMjUgYzAuNDE3LTAuOTk4LDEuMDMyLTEuODk3LDEuODQxLTIuNzAxbDAuMDU3LTAuMDU3YzAuODE4LTAuNzksMS43Mi0xLjM4OCwyLjcwOS0xLjc5N0M1NC43OTYsMC4yMDcsNTUuODUxLDAsNTYuOTU2LDBINjguOSBjMS4xNDgsMCwyLjIyNSwwLjIwMywzLjIzLDAuNjEzYzEuMDEsMC40MTIsMS45MjQsMS4wMjcsMi43NDgsMS44NWMwLjgxNCwwLjgxNiwxLjQyOCwxLjcyOCwxLjg0LDIuNzM3IGMwLjQxLDEuMDA1LDAuNjEzLDIuMDgxLDAuNjEzLDMuMjI5djcuNjFjMC4zNTksMC4xMzMsMC43MjcsMC4yNzMsMS4xMDcsMC40MmMwLjk3NywwLjM4LDEuOTU1LDAuNzkzLDIuOTM0LDEuMjQgYzEuMDEyLDAuNDYyLDEuOTY3LDAuOTM0LDIuODU3LDEuNDE2YzAuMjk5LDAuMTYxLDAuNTk2LDAuMzI2LDAuODkzLDAuNDk2bDQuNjk1LTQuNjgxbDAuMDAyLTAuMDAxIGMwLjgxMy0wLjgyNywxLjcyOS0xLjQ1MywyLjczOC0xLjg4YzEuMDMzLTAuNDM3LDIuMTE3LTAuNjUzLDMuMjQ4LTAuNjUzQzk2LjkzNiwxMi4zOTYsOTguMDEyLDEyLjYxLDk5LjAzOSwxMy4wNDRMOTkuMDM5LDEzLjA0NCB6IE02MS40NCwzNS4zNDZjMS43ODEsMCwzLjUxOSwwLjE3LDUuMjE0LDAuNTA4YzEuNjY2LDAuMzMzLDMuMzE4LDAuODQ0LDQuOTUzLDEuNTM0bDAuMDE4LDAuMDA4bDAuMDA0LTAuMDA4IGMxLjU2MSwwLjY3NCwzLjA0MSwxLjQ3OSw0LjQ0MSwyLjQxN2MxLjM4NywwLjkyOSwyLjY3MiwxLjk3OCwzLjg1LDMuMTQ1bDAuMDEsMC4wMTFsMCwwYzEuMTY4LDEuMTc5LDIuMjE3LDIuNDYzLDMuMTQ2LDMuODUxIGMwLjkzOCwxLjQsMS43NDIsMi44OCwyLjQxNiw0LjQ0MWMwLjAzMSwwLjA3NCwwLjA1OSwwLjE0OCwwLjA4NCwwLjIyM2MwLjY0NiwxLjU2OSwxLjEzMSwzLjE1MiwxLjQ0OSw0Ljc1MSBjMC4zNCwxLjY5NiwwLjUwOCwzLjQzMywwLjUwOCw1LjIxM2MwLDEuNzgxLTAuMTY4LDMuNTE5LTAuNTA4LDUuMjE0Yy0wLjMzMiwxLjY2Ny0wLjg0NCwzLjMxNy0xLjUzMyw0Ljk1M2wtMC4wMDgsMC4wMTggbDAuMDA4LDAuMDA0Yy0wLjY3NCwxLjU2MS0xLjQ3OSwzLjA0LTIuNDE2LDQuNDRjLTAuOTMsMS4zODgtMS45NzksMi42NzItMy4xNDYsMy44NTFsLTAuMDEsMC4wMTFsMCwwIGMtMS4xOCwxLjE2OC0yLjQ2MywyLjIxNy0zLjg1MiwzLjE0NmMtMS4zOTgsMC45MzgtMi44NzksMS43NDItNC40MzksMi40MTZjLTAuMDc0LDAuMDMxLTAuMTQ4LDAuMDYtMC4yMjUsMC4wODQgYy0xLjU2OCwwLjY0Ny0zLjE1MiwxLjEzMS00Ljc1LDEuNDVjLTEuNjk1LDAuMzM5LTMuNDM0LDAuNTA4LTUuMjE0LDAuNTA4Yy0xLjc4MSwwLTMuNTE4LTAuMTY5LTUuMjEzLTAuNTA4IGMtMS42NjctMC4zMzMtMy4zMTgtMC44NDUtNC45NTQtMS41MzRsLTAuMDE4LTAuMDA4bC0wLjAwMywwLjAwOGMtMS41NjEtMC42NzQtMy4wNDItMS40NzktNC40NDEtMi40MTYgYy0xLjM4OC0wLjkyOS0yLjY3Mi0xLjk3OC0zLjg1LTMuMTQ2bC0wLjAxLTAuMDExbDAsMGMtMS4xNjgtMS4xOC0yLjIxOC0yLjQ2My0zLjE0Ni0zLjg1MmMtMC45MzctMS4zOTktMS43NDItMi44OC0yLjQxNS00LjQzOSBjLTAuMDMyLTAuMDc0LTAuMDYtMC4xNDgtMC4wODUtMC4yMjRjLTAuNjQ3LTEuNTY5LTEuMTMxLTMuMTUyLTEuNDUtNC43NTFjLTAuMzM4LTEuNjk1LTAuNTA4LTMuNDMzLTAuNTA4LTUuMjE0IGMwLTEuNzgxLDAuMTY5LTMuNTE4LDAuNTA4LTUuMjEzYzAuMzMzLTEuNjY3LDAuODQ1LTMuMzE4LDEuNTM1LTQuOTUzbDAuMDA3LTAuMDE4bC0wLjAwNy0wLjAwMyBjMC42NzMtMS41NjEsMS40NzktMy4wNDEsMi40MTUtNC40NGMwLjkyOS0xLjM4OSwxLjk3OC0yLjY3MiwzLjE0Ni0zLjg1MmwwLjAxMS0wLjAxbDAsMGMxLjE3OC0xLjE2NywyLjQ2Mi0yLjIxNiwzLjg0OS0zLjE0NSBjMS40LTAuOTM3LDIuODgxLTEuNzQzLDQuNDQyLTIuNDE3YzAuMDc0LTAuMDMyLDAuMTQ4LTAuMDYsMC4yMjQtMC4wODRjMS41NjktMC42NDcsMy4xNTEtMS4xMyw0Ljc1LTEuNDQ5IEM1Ny45MjIsMzUuNTE2LDU5LjY1OSwzNS4zNDYsNjEuNDQsMzUuMzQ2TDYxLjQ0LDM1LjM0NnogTTY1LjYwMiw0MS4xMzRjLTEuMzQ0LTAuMjY5LTIuNzMtMC40MDMtNC4xNjItMC40MDMgYy0xLjQzMSwwLTIuODE3LDAuMTM0LTQuMTYyLDAuNDAzYy0xLjMwNiwwLjI2MS0yLjU1MywwLjYzNS0zLjc0MSwxLjEyMmMtMC4wNTIsMC4wMjYtMC4xMDUsMC4wNTItMC4xNiwwLjA3NSBjLTEuMjk4LDAuNTYxLTIuNDkyLDEuMjA1LTMuNTgsMS45MzNjLTEuMDk2LDAuNzMzLTIuMTEsMS41NjMtMy4wNDQsMi40ODdjLTAuOTI1LDAuOTM1LTEuNzU1LDEuOTUxLTIuNDg5LDMuMDQ4IGMtMC43MjgsMS4wODctMS4zNzIsMi4yOC0xLjkzMiwzLjU3OGwtMC4wMDctMC4wMDNjLTAuNTIxLDEuMjM3LTAuOTE3LDIuNTM5LTEuMTkxLDMuOTA1Yy0wLjI2OCwxLjM0NC0wLjQwMiwyLjczLTAuNDAyLDQuMTYxIHMwLjEzNCwyLjgxNywwLjQwMiw0LjE2MmMwLjI2MSwxLjMwNiwwLjYzNiwyLjU1MywxLjEyMywzLjc0MWMwLjAyNiwwLjA1MywwLjA1MiwwLjEwNSwwLjA3NSwwLjE2IGMwLjU2LDEuMjk4LDEuMjA0LDIuNDksMS45MzEsMy41NzdjMC43MzQsMS4wOTcsMS41NjQsMi4xMTMsMi40OSwzLjA0OGMwLjkzNCwwLjkyNSwxLjk0OSwxLjc1NCwzLjA0NSwyLjQ4NyBjMS4wODcsMC43MjgsMi4yOCwxLjM3MiwzLjU3OSwxLjkzM2wtMC4wMDMsMC4wMDdjMS4yMzgsMC41MjEsMi41MzksMC45MTgsMy45MDUsMS4xOWMxLjM0NCwwLjI2OSwyLjczMSwwLjQwMiw0LjE2MiwwLjQwMiBjMS40MzEsMCwyLjgxOC0wLjEzNCw0LjE2Mi0wLjQwMmMxLjMwNy0wLjI2MSwyLjU1My0wLjYzNSwzLjc0Mi0xLjEyMmMwLjA1MS0wLjAyNiwwLjEwNS0wLjA1MiwwLjE2LTAuMDc1IGMxLjI5Ny0wLjU2MSwyLjQ5LTEuMjA1LDMuNTc4LTEuOTMzYzEuMDk2LTAuNzMzLDIuMTExLTEuNTYzLDMuMDQ1LTIuNDg3YzAuOTI2LTAuOTM1LDEuNzU2LTEuOTUsMi40OS0zLjA0NyBjMC43MjctMS4wODcsMS4zNzEtMi4yOCwxLjkzLTMuNTc4bDAuMDA4LDAuMDAzYzAuNTIxLTEuMjM3LDAuOTE4LTIuNTM5LDEuMTkxLTMuOTA0YzAuMjY4LTEuMzQ1LDAuNDAyLTIuNzMxLDAuNDAyLTQuMTYyIHMtMC4xMzUtMi44MTctMC40MDItNC4xNjFjLTAuMjYyLTEuMzA3LTAuNjM1LTIuNTUzLTEuMTIzLTMuNzQyYy0wLjAyNy0wLjA1Mi0wLjA1MS0wLjEwNS0wLjA3Ni0wLjE2IGMtMC41NTktMS4yOTgtMS4yMDMtMi40OTEtMS45MzItMy41NzhjLTAuNzMyLTEuMDk3LTEuNTYzLTIuMTEzLTIuNDg4LTMuMDQ3Yy0wLjkzNC0wLjkyNC0xLjk0OS0xLjc1NC0zLjA0NS0yLjQ4NyBjLTEuMDg4LTAuNzI4LTIuMjgxLTEuMzcyLTMuNTc4LTEuOTMzbDAuMDAyLTAuMDA3QzY4LjI3LDQxLjgwNCw2Ni45NjksNDEuNDA3LDY1LjYwMiw0MS4xMzRMNjUuNjAyLDQxLjEzNHoiKSx4KHIsImFuaW1hdGlvbiIsIm5vbmUiLDEpLHgociwidHJhbnNmb3JtLW9yaWdpbiIsInVuc2V0IiwxKSxtZShvLCJ2ZXJzaW9uIiwiMS4xIiksbWUobywidmlld0JveCIsIjAgMCAxMjIuODgxIDEyMi44OCIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHNlKHIsaSl9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIF9uKGUsdCxvKXtsZXR7d2lkdGg6cj0iMTJweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIGpuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLF9uLFBuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gTm4oZSl7bGV0IG8scjtyZXR1cm57Yygpe289Yigic3ZnIiksbWUocj1iKCJwYXRoIiksImZpbGwtcnVsZSIsImV2ZW5vZGQiKSxtZShyLCJjbGlwLXJ1bGUiLCJldmVub2RkIiksbWUociwiZCIsIk03LjgxMDM1IDEyLjI5OTlMNS45NDAzNSAxNC4yOTk5QzUuNTAwMzUgMTQuNzY5OSA0Ljk0MDMzIDE1LjAwOTkgNC4zMjAzMyAxNC45OTk5QzMuNzEwMzMgMTQuOTc5OSAzLjEyMDM1IDE0LjY5OTkgMi42NjAzNSAxNC4yMDk5QzEuNzAwMzUgMTMuMTg5OSAxLjY3MDM0IDExLjY3OTkgMi41ODAzNCAxMC43MDk5TDQuNDUwMzMgOC43MDk4NUM0LjgyMDMzIDguMzE5ODUgNC44MjAzMyA3LjY4OTg3IDQuNDUwMzMgNy4yODk4N0M0LjA4MDMzIDYuODk5ODcgMy40OTAzNiA2Ljg5OTg3IDMuMTMwMzYgNy4yODk4N0wxLjI2MDMzIDkuMjg5ODdDLTAuMzc5NjcgMTEuMDM5OSAtMC4zMzk2NTMgMTMuODE5OSAxLjM0MDM1IDE1LjYxOTlDMi4xNDAzNSAxNi40Nzk5IDMuMTgwMzUgMTYuOTU5OSA0LjI4MDM1IDE2Ljk4OTlDNC4zMTAzNSAxNi45ODk5IDQuMzUwMzYgMTYuOTg5OSA0LjM4MDM2IDE2Ljk4OTlDNS40NjAzNiAxNi45ODk5IDYuNDkwMzMgMTYuNTI5OSA3LjI2MDMzIDE1LjY5OTlMOS4xMzAzNiAxMy42OTk5QzkuNTAwMzYgMTMuMzA5OSA5LjUwMDM2IDEyLjY3OTkgOS4xMzAzNiAxMi4yNzk5QzguNzcwMzYgMTEuODk5OSA4LjE3MDM1IDExLjg5OTkgNy44MTAzNSAxMi4yOTk5Wk0xMC4wNzAzIDYuMjg5ODdDOS43MDAzMyA1Ljg5OTg3IDkuMTEwMzUgNS44OTk4NyA4Ljc1MDM1IDYuMjg5ODdMNS4wMTAzMyAxMC4yODk5QzQuNjQwMzMgMTAuNjc5OSA0LjY0MDMzIDExLjMwOTkgNS4wMTAzMyAxMS43MDk5QzUuMTkwMzMgMTEuOTA5OSA1LjQzMDMzIDExLjk5OTkgNS42NzAzMyAxMS45OTk5QzUuOTEwMzMgMTEuOTk5OSA2LjE1MDM0IDExLjg5OTkgNi4zMzAzNCAxMS43MDk5TDEwLjA3MDMgNy43MDk4NUMxMC40MzAzIDcuMzA5ODUgMTAuNDMwMyA2LjY3OTg3IDEwLjA3MDMgNi4yODk4N1pNMTMuNzMwMyAyLjM2OTg2QzEyLjA0MDMgMC41Njk4NTggOS40NDAzNSAwLjUyOTg2MiA3LjgxMDM1IDIuMjc5ODZMNS45NDAzNSA0LjI3OTg2QzUuNTcwMzUgNC42Njk4NiA1LjU3MDM1IDUuMjk5ODggNS45NDAzNSA1LjY5OTg4QzYuMzEwMzUgNi4wODk4OCA2LjkwMDMzIDYuMDg5ODggNy4yNjAzMyA1LjY5OTg4TDkuMTMwMzYgMy42OTk4OEMxMC4wNDA0IDIuNzE5ODggMTEuNDUwNCAyLjc1OTg3IDEyLjQxMDQgMy43ODk4N0MxMy4zNzA0IDQuODA5ODcgMTMuNDAwMyA2LjMxOTg3IDEyLjQ5MDMgNy4yODk4N0wxMC42MjAzIDkuMjg5ODdDMTAuMjUwMyA5LjY3OTg3IDEwLjI1MDMgMTAuMzA5OSAxMC42MjAzIDEwLjcwOTlDMTAuODAwMyAxMC45MDk5IDExLjA0MDMgMTAuOTk5OSAxMS4yODAzIDEwLjk5OTlDMTEuNTIwMyAxMC45OTk5IDExLjc2MDQgMTAuODk5OSAxMS45NDA0IDEwLjcwOTlMMTMuODEwMyA4LjcwOTg1QzE1LjQ1MDMgNi45NDk4NSAxNS40MjAzIDQuMTY5ODYgMTMuNzMwMyAyLjM2OTg2WiIpLHgobywid2lkdGgiLGVbMF0pLHgobywiaGVpZ2h0IixlWzBdKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDE2IDE3IiksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIFZuKGUsdCxvKXtsZXR7d2lkdGg6cj0iMTJweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIE1uIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLFZuLE5uLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gem4oZSl7bGV0IG8scjtyZXR1cm57Yygpe289Yigic3ZnIiksbWUocj1iKCJwYXRoIiksImQiLCJtMjY0LjQ2NSAxNy41OThjLTM5LjUwMSAwLTc4LjQ0MiA5LjUxNy0xMTMuMzQxIDI3LjYwNGwtNDAuODA2LTQwLjgwOGMtMy42MDktMy42MTEtOC44MDktNS4xMzctMTMuNzk3LTQuMDUxcy05LjA4MiA0LjYzNS0xMC44NjUgOS40MTlsLTIwLjYwNiA1NS4yODktNTUuMjg4IDIwLjYwNWMtNC43ODQgMS43ODMtOC4zMzMgNS44NzctOS40MTkgMTAuODY1LTEuMDg1IDQuOTg4LjQ0IDEwLjE4NyA0LjA1MSAxMy43OTdsNDAuODA3IDQwLjgwOGMtMTguMDg3IDM0Ljg5OC0yNy42MDQgNzMuODM5LTI3LjYwNCAxMTMuMzQgMCAxMzYuMTI0IDExMC43NDQgMjQ2Ljg2OSAyNDYuODY4IDI0Ni44NjlzMjQ2Ljg3LTExMC43NDUgMjQ2Ljg3LTI0Ni44NjktMTEwLjc0Ni0yNDYuODY4LTI0Ni44Ny0yNDYuODY4em0wIDMyOC4xMTZjNDQuODAxIDAgODEuMjQ5LTM2LjQ0NyA4MS4yNDktODEuMjQ4cy0zNi40NDgtODEuMjQ4LTgxLjI0OS04MS4yNDhjLTE2Ljk5MiAwLTMyLjc3NSA1LjI1Mi00NS44MyAxNC4yMDVsLTM3LjcxNy0zNy43MTdjMjIuOTMxLTE4LjMyNCA1MS45OC0yOS4yOTkgODMuNTQ3LTI5LjI5OSA3My45MiAwIDEzNC4wNTkgNjAuMTM5IDEzNC4wNTkgMTM0LjA1OXMtNjAuMTM5IDEzNC4wNTktMTM0LjA1OSAxMzQuMDU5LTEzNC4wNTgtNjAuMTM5LTEzNC4wNTgtMTM0LjA1OWMwLTMxLjU2NyAxMC45NzQtNjAuNjE2IDI5LjI5OC04My41NDdsMzcuNzE3IDM3LjcxN2MtOC45NTMgMTMuMDU1LTE0LjIwNSAyOC44MzgtMTQuMjA1IDQ1LjgzIDAgNDQuOCAzNi40NDggODEuMjQ4IDgxLjI0OCA4MS4yNDh6bTEwLjYwNy05MS44NTUtMzQuNjQtMzQuNjRjNy4xNzMtMy44MjUgMTUuMzUzLTYuMDAyIDI0LjAzMy02LjAwMiAyOC4yNTkgMCA1MS4yNDkgMjIuOTkgNTEuMjQ5IDUxLjI0OHMtMjIuOTkgNTEuMjQ4LTUxLjI0OSA1MS4yNDhjLTI4LjI1OCAwLTUxLjI0OC0yMi45OS01MS4yNDgtNTEuMjQ4IDAtOC42ODEgMi4xNzctMTYuODU5IDYuMDAyLTI0LjAzM2wzNC42NCAzNC42NGMyLjkyOSAyLjkyOSA2Ljc2OCA0LjM5MyAxMC42MDYgNC4zOTMgMy44MzkgMCA3LjY3OC0xLjQ2NSAxMC42MDYtNC4zOTMgNS44NTktNS44NTcgNS44NTktMTUuMzU1LjAwMS0yMS4yMTN6bS0xNjkuNDU4LTIxMS43NDMgNTAuNDc2IDUwLjQ3Ny02LjQ4OSAzNS43OTUtNTUuNDY4LTU1LjQ2N3ptLTYzLjQ5OCA2My40OTggMzAuODA1LTExLjQ4IDU1LjQ2OCA1NS40NjctMzUuNzk2IDYuNDl6bTIyMi4zNDkgMzc1LjcyMWMtMTE5LjU4MSAwLTIxNi44NjgtOTcuMjg3LTIxNi44NjgtMjE2Ljg2OSAwLTMxLjQ3OSA2Ljg4Mi02Mi41NDcgMjAuMDIxLTkwLjkyNGw5LjMxNSA5LjMxNWMyLjgzOCAyLjgzOSA2LjY2NCA0LjM5NCAxMC42MDYgNC4zOTQuODg5IDAgMS43ODQtLjA3OSAyLjY3Ni0uMjRsMzMuMDU1LTUuOTkyYy0xNC41MTQgMjQuNDY1LTIyLjg2MiA1Mi45OTctMjIuODYyIDgzLjQ0NyAwIDkwLjQ2MiA3My41OTYgMTY0LjA1OSAxNjQuMDU4IDE2NC4wNTlzMTY0LjA1OS03My41OTcgMTY0LjA1OS0xNjQuMDU5LTczLjU5Ny0xNjQuMDU5LTE2NC4wNTktMTY0LjA1OWMtMzAuNDUgMC01OC45ODIgOC4zNDktODMuNDQ3IDIyLjg2M2w1Ljk5Mi0zMy4wNTVjLjg3Ny00Ljg0LS42NzUtOS44MDQtNC4xNTMtMTMuMjgybC05LjMxNS05LjMxNWMyOC4zNzYtMTMuMTM5IDU5LjQ0NC0yMC4wMjEgOTAuOTI0LTIwLjAyMSAxMTkuNTgyIDAgMjE2Ljg2OSA5Ny4yODcgMjE2Ljg2OSAyMTYuODY4LS4wMDEgMTE5LjU4My05Ny4yODkgMjE2Ljg3LTIxNi44NzEgMjE2Ljg3eiIpLG1lKG8sInZpZXdCb3giLCIwIDAgNTExLjMzNSA1MTEuMzM1IikseChvLCJ3aWR0aCIsZVswXSkseChvLCJoZWlnaHQiLGVbMF0pfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSxbdF0pezEmdCYmeChvLCJ3aWR0aCIsZVswXSksMSZ0JiZ4KG8sImhlaWdodCIsZVswXSl9LGk6aCxvOmgsZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEZuKGUsdCxvKXtsZXR7d2lkdGg6cj0iMTJweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKX0sW3JdfWNsYXNzIFVuIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEZuLHpuLHIse3dpZHRoOjB9KX19ZnVuY3Rpb24gV24oZSx0LG8pe2U9ZS5zbGljZSgpO3JldHVybiBlWzM3XT10W29dLGV9ZnVuY3Rpb24gSG4oZSx0LG8pe2U9ZS5zbGljZSgpO3JldHVybiBlWzQwXT10W29dLGV9ZnVuY3Rpb24gR24obyl7bGV0IHIsaSxuLGEscyxsLGMsZCxwLHU9b1s4XT8ubGVuZ3RoKyIiLGcsbSxmLGgsYix4LHksdyxDLHYsayxJLFMsVCxMO3ZhciAkPW9bNV07JCYmKGE9eG8oJCx7fSkpLChiPW5ldyB5bih7cHJvcHM6e2NhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOm9bMjRdLGNhdGVnb3J5U2VsZWN0b3JJY29uOm9bMjVdLGFjdGl2ZToxPT1vWzFdfHwwPG9bOV0saWQ6b1sxXS50b1N0cmluZygpfX0pKS4kb24oInRvZ2dsZWQiLG9bMTBdKTtsZXQgQT0wPG9bOF0/Lmxlbmd0aCYmcW4obyksRT1vWzZdJiZKbihvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImkiKSxhJiZ4ZShhLiQkLmZyYWdtZW50KSxzPXVlKCksbD1wZShvWzJdKSxjPXBlKCIgKCIpLGQ9cGUob1s5XSkscD1wZSgiLyIpLGc9cGUodSksbT1wZSgiKSIpLGY9dWUoKSxoPWRlKCJkaXYiKSx4ZShiLiQkLmZyYWdtZW50KSx4PXVlKCkseT1kZSgiZGl2Iiksdz1wZShvWzNdKSxDPXVlKCksQSYmQS5jKCksdj11ZSgpLEUmJkUuYygpLG1lKG4sImNsYXNzIixvWzE2XSgpKSxtZShpLCJjbGFzcyIsb1sxNV0oKSksbWUoeSwiY2xhc3MiLG9bMTddKCkpLG1lKHIsImNsYXNzIixrPW9bMTRdKHtyZXF1aXJlZDpvWzRdfSkpLG1lKHIsImlkIixJPSJjYXQkIitvWzFdLnRvU3RyaW5nKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxhJiZ5ZShhLG4sbnVsbCksc2UoaSxzKSxzZShpLGwpLHNlKGksYyksc2UoaSxkKSxzZShpLHApLHNlKGksZyksc2UoaSxtKSxzZShyLGYpLHNlKHIsaCkseWUoYixoLG51bGwpLHNlKHIseCksc2Uocix5KSxzZSh5LHcpLHNlKHIsQyksQSYmQS5tKHIsbnVsbCksc2Uocix2KSxFJiZFLm0ocixudWxsKSxTPSEwLFR8fChMPWdlKGksImNsaWNrIixvWzExXSksVD0hMCl9LHAoZSx0KXtpZigzMiZ0WzBdJiYkIT09KCQ9ZVs1XSkpe2lmKGEpe2llKCk7bGV0IGU9YTtiZShlLiQkLmZyYWdtZW50LDEsMCwoKT0+e3dlKGUsMSl9KSxuZSgpfSQ/KHhlKChhPXhvKCQse30pKS4kJC5mcmFnbWVudCksaGUoYS4kJC5mcmFnbWVudCwxKSx5ZShhLG4sbnVsbCkpOmE9bnVsbH0oIVN8fDQmdFswXSkmJmZlKGwsZVsyXSksKCFTfHw1MTImdFswXSkmJmZlKGQsZVs5XSksKCFTfHwyNTYmdFswXSkmJnUhPT0odT1lWzhdPy5sZW5ndGgrIiIpJiZmZShnLHUpO3ZhciBvPXt9OzUxNCZ0WzBdJiYoby5hY3RpdmU9MT09ZVsxXXx8MDxlWzldKSwyJnRbMF0mJihvLmlkPWVbMV0udG9TdHJpbmcoKSksYi4kc2V0KG8pLCghU3x8OCZ0WzBdKSYmZmUodyxlWzNdKSwwPGVbOF0/Lmxlbmd0aD9BPyhBLnAoZSx0KSwyNTYmdFswXSYmaGUoQSwxKSk6KChBPXFuKGUpKS5jKCksaGUoQSwxKSxBLm0ocix2KSk6QSYmKGllKCksYmUoQSwxLDEsKCk9PntBPW51bGx9KSxuZSgpKSxlWzZdP0U/KEUucChlLHQpLDY0JnRbMF0mJmhlKEUsMSkpOigoRT1KbihlKSkuYygpLGhlKEUsMSksRS5tKHIsbnVsbCkpOkUmJihpZSgpLGJlKEUsMSwxLCgpPT57RT1udWxsfSksbmUoKSksKCFTfHwxNiZ0WzBdJiZrIT09KGs9ZVsxNF0oe3JlcXVpcmVkOmVbNF19KSkpJiZtZShyLCJjbGFzcyIsayksKCFTfHwyJnRbMF0mJkkhPT0oST0iY2F0JCIrZVsxXS50b1N0cmluZygpKSkmJm1lKHIsImlkIixJKX0saShlKXtTfHwoYSYmaGUoYS4kJC5mcmFnbWVudCxlKSxoZShiLiQkLmZyYWdtZW50LGUpLGhlKEEpLGhlKEUpLFM9ITApfSxvKGUpe2EmJmJlKGEuJCQuZnJhZ21lbnQsZSksYmUoYi4kJC5mcmFnbWVudCxlKSxiZShBKSxiZShFKSxTPSExfSxkKGUpe2UmJmNlKHIpLGEmJndlKGEpLHdlKGIpLEEmJkEuZCgpLEUmJkUuZCgpLFQ9ITEsTCgpfX19ZnVuY3Rpb24gcW4obyl7bGV0IHIsaSxuPW9bMF0/LnRleHRzPy5idXR0b25zPy5zaG93TW9yZSsiIixhLHMsbCxjLGQscCx1LGc9W1FuLEtuXSxtPVtdO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIGVbNl0/MDoxfXJldHVybiBsPWYobyksYz1tW2xdPWdbbF0obykse2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxhPXBlKG4pLHM9dWUoKSxjLmMoKSxtZShyLCJjbGFzcyIsb1sxOF0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLGEpLHNlKHIscyksbVtsXS5tKHIsbnVsbCksZD0hMCxwfHwodT1nZShyLCJjbGljayIsb1sxMV0pLHA9ITApfSxwKGUsdCl7KCFkfHwxJnRbMF0pJiZuIT09KG49ZVswXT8udGV4dHM/LmJ1dHRvbnM/LnNob3dNb3JlKyIiKSYmZmUoYSxuKTtsZXQgbz1sOyhsPWYoZSkpIT09byYmKGllKCksYmUobVtvXSwxLDEsKCk9PnttW29dPW51bGx9KSxuZSgpLChjPW1bbF0pfHwoYz1tW2xdPWdbbF0oZSkpLmMoKSxoZShjLDEpLGMubShyLG51bGwpKX0saShlKXtkfHwoaGUoYyksZD0hMCl9LG8oZSl7YmUoYyksZD0hMX0sZChlKXtlJiZjZShyKSxtW2xdLmQoKSxwPSExLHUoKX19fWZ1bmN0aW9uIEtuKGUpe2xldCBvLHI7cmV0dXJuIG89bmV3IFNuKHt9KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBRbihlKXtsZXQgbyxyO3JldHVybiBvPW5ldyB2bih7fSkse2MoKXt4ZShvLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKG8sZSx0KSxyPSEwfSxpKGUpe3J8fChoZShvLiQkLmZyYWdtZW50LGUpLHI9ITApfSxvKGUpe2JlKG8uJCQuZnJhZ21lbnQsZSkscj0hMX0sZChlKXt3ZShvLGUpfX19ZnVuY3Rpb24gSm4odCl7bGV0IGkscixuPXRbOF0sYT1bXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrPTEpYVtlXT1yYShXbih0LG4sZSkpO3JldHVybntjKCl7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWFbZV0uYygpO2k9Zm8oKX0sbSh0LG8pe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSlhW2VdJiZhW2VdLm0odCxvKTtsZSh0LGksbykscj0hMH0scCh0LG8pe2lmKDY2NTk3MjQ5Jm9bMF0pe249dFs4XTtsZXQgZTtmb3IoZT0wO2U8bi5sZW5ndGg7ZSs9MSl7dmFyIHI9V24odCxuLGUpO2FbZV0/KGFbZV0ucChyLG8pLGhlKGFbZV0sMSkpOihhW2VdPXJhKHIpLGFbZV0uYygpLGhlKGFbZV0sMSksYVtlXS5tKGkucGFyZW50Tm9kZSxpKSl9Zm9yKGllKCksZT1uLmxlbmd0aDtlPGEubGVuZ3RoO2UrPTEpKGU9PmJlKGFbZV0sMSwxLCgpPT57YVtlXT1udWxsfSkpKGUpO25lKCl9fSxpKGUpe2lmKCFyKXtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrPTEpaGUoYVtlXSk7cj0hMH19LG8oZSl7YT1hLmZpbHRlcihCb29sZWFuKTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrPTEpYmUoYVtlXSk7cj0hMX0sZChlKXttbyhhLGUpLGUmJmNlKGkpfX19ZnVuY3Rpb24gWm4oZSl7bGV0IHIsaSxuLG8sYT1bWG4sWW5dLHM9W107ZnVuY3Rpb24gbChlKXtyZXR1cm4gZVs3XT09PWVbMzddLmlkPzA6MX1yZXR1cm4gcj1sKGUpLGk9c1tyXT1hW3JdKGUpLHtjKCl7aS5jKCksbj1mbygpfSxtKGUsdCl7c1tyXS5tKGUsdCksbGUoZSxuLHQpLG89ITB9LHAoZSx0KXtsZXQgbz1yOyhyPWwoZSkpIT09byYmKGllKCksYmUoc1tvXSwxLDEsKCk9PntzW29dPW51bGx9KSxuZSgpLChpPXNbcl0pfHwoaT1zW3JdPWFbcl0oZSkpLmMoKSxoZShpLDEpLGkubShuLnBhcmVudE5vZGUsbikpfSxpKGUpe298fChoZShpKSxvPSEwKX0sbyhlKXtiZShpKSxvPSExfSxkKGUpe3Nbcl0uZChlKSxlJiZjZShuKX19fWZ1bmN0aW9uIFluKGUpe2xldCBvLHI7cmV0dXJuIG89bmV3IFNuKHt9KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBYbihlKXtsZXQgbyxyO3JldHVybiBvPW5ldyB2bih7fSkse2MoKXt4ZShvLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKG8sZSx0KSxyPSEwfSxpKGUpe3J8fChoZShvLiQkLmZyYWdtZW50LGUpLHI9ITApfSxvKGUpe2JlKG8uJCQuZnJhZ21lbnQsZSkscj0hMX0sZChlKXt3ZShvLGUpfX19ZnVuY3Rpb24gZWEodCl7bGV0IGksbixlLHIsYSxzLGw9Vmk/Llt0WzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIsYyxkLHAsdT10WzM3XS5jb29raWVzLGc9W107Zm9yKGxldCBlPTA7ZTx1Lmxlbmd0aDtlKz0xKWdbZV09b2EoSG4odCx1LGUpKTtyZXR1cm4gcj1uZXcgTW4oe30pLHtjKCl7Zm9yKGxldCBlPTA7ZTxnLmxlbmd0aDtlKz0xKWdbZV0uYygpO2k9dWUoKSxuPWRlKCJhIiksZT1kZSgiZGl2IikseGUoci4kJC5mcmFnbWVudCksYT11ZSgpLHM9ZGUoImRpdiIpLGM9cGUobCksbWUobiwiY2xhc3MiLHRbMjNdKCkpLG1lKG4sImhyZWYiLGQ9dFswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpfSxtKHQsbyl7Zm9yKGxldCBlPTA7ZTxnLmxlbmd0aDtlKz0xKWdbZV0mJmdbZV0ubSh0LG8pO2xlKHQsaSxvKSxsZSh0LG4sbyksc2UobixlKSx5ZShyLGUsbnVsbCksc2UobixhKSxzZShuLHMpLHNlKHMsYykscD0hMH0scCh0LG8pe2lmKDQxOTQ1NjEmb1swXSl7dT10WzM3XS5jb29raWVzO2xldCBlO2ZvcihlPTA7ZTx1Lmxlbmd0aDtlKz0xKXt2YXIgcj1Ibih0LHUsZSk7Z1tlXT9nW2VdLnAocixvKTooZ1tlXT1vYShyKSxnW2VdLmMoKSxnW2VdLm0oaS5wYXJlbnROb2RlLGkpKX1mb3IoO2U8Zy5sZW5ndGg7ZSs9MSlnW2VdLmQoMSk7Zy5sZW5ndGg9dS5sZW5ndGh9KCFwfHwxJm9bMF0pJiZsIT09KGw9Vmk/Llt0WzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIpJiZmZShjLGwpLCghcHx8MSZvWzBdJiZkIT09KGQ9dFswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpKSYmbWUobiwiaHJlZiIsZCl9LGkoZSl7cHx8KGhlKHIuJCQuZnJhZ21lbnQsZSkscD0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxwPSExfSxkKGUpe21vKGcsZSksZSYmY2UoaSksZSYmY2Uobiksd2Uocil9fX1mdW5jdGlvbiB0YShlKXtsZXQgbyxyPWVbNDBdPy5kZXNjcmlwdGlvbisiIixpO3JldHVybntjKCl7bz1kZSgiZGl2IiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7MjU2JnRbMF0mJnIhPT0ocj1lWzQwXT8uZGVzY3JpcHRpb24rIiIpJiZmZShpLHIpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gb2EoZSl7bGV0IG8scixpLG49ZVs0MF0ubmFtZSsiIixhLHMsbCxjLGQscD1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5leHBpcmF0aW9uKyIiLHUsZyxtLGY9KC0xPT09ZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/Vmk/LltlWzBdLmxhbmd1YWdlXT8uc2Vzc2lvbjotMj09PWVbNDBdLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzPyJMb2NhbFN0b3JhZ2UiOlp0KGVbNDBdLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzKS5udW1iZXIrIiAiK1ZpPy5bZVswXS5sYW5ndWFnZV0/LnVuaXRPZlRpbWVbWnQoZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLnR5cGVdKSsiIixoLGIseCx5LHc9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8ucmVnaW9uKyIiLEMsdixrLEk9ZVs0MF0ucmVnaW9uKyIiLFMsVD1lWzQwXT8uZGVzY3JpcHRpb24mJnRhKGUpO3JldHVybntjKCl7bz1kZSgiZGl2Iikscj1kZSgiZGl2IiksaT1kZSgiYiIpLGE9cGUobikscz11ZSgpLFQmJlQuYygpLGw9dWUoKSxjPWRlKCJkaXYiKSxkPWRlKCJiIiksdT1wZShwKSxnPXBlKCI6IiksbT11ZSgpLGg9cGUoZiksYj11ZSgpLHg9ZGUoImRpdiIpLHk9ZGUoImIiKSxDPXBlKHcpLHY9cGUoIjoiKSxrPXVlKCksUz1wZShJKSxtZShvLCJjbGFzcyIsZVsyMl0oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLGkpLHNlKGksYSksc2UobyxzKSxUJiZULm0obyxudWxsKSxzZShvLGwpLHNlKG8sYyksc2UoYyxkKSxzZShkLHUpLHNlKGQsZyksc2UoYyxtKSxzZShjLGgpLHNlKG8sYiksc2Uobyx4KSxzZSh4LHkpLHNlKHksQyksc2UoeSx2KSxzZSh4LGspLHNlKHgsUyl9LHAoZSx0KXsyNTYmdFswXSYmbiE9PShuPWVbNDBdLm5hbWUrIiIpJiZmZShhLG4pLGVbNDBdPy5kZXNjcmlwdGlvbj9UP1QucChlLHQpOigoVD10YShlKSkuYygpLFQubShvLGwpKTpUJiYoVC5kKDEpLFQ9bnVsbCksMSZ0WzBdJiZwIT09KHA9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8uZXhwaXJhdGlvbisiIikmJmZlKHUscCksMjU3JnRbMF0mJmYhPT0oZj0oLTE9PT1lWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcz9WaT8uW2VbMF0ubGFuZ3VhZ2VdPy5zZXNzaW9uOi0yPT09ZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/IkxvY2FsU3RvcmFnZSI6WnQoZVs0MF0uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLm51bWJlcisiICIrVmk/LltlWzBdLmxhbmd1YWdlXT8udW5pdE9mVGltZVtadChlWzQwXS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcykudHlwZV0pKyIiKSYmZmUoaCxmKSwxJnRbMF0mJnchPT0odz1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5yZWdpb24rIiIpJiZmZShDLHcpLDI1NiZ0WzBdJiZJIT09KEk9ZVs0MF0ucmVnaW9uKyIiKSYmZmUoUyxJKX0sZChlKXtlJiZjZShvKSxUJiZULmQoKX19fWZ1bmN0aW9uIHJhKG8pe2xldCByLGksbixhLHM9b1szN10ubmFtZSsiIixsLGMsZCxwLHUsZyxtLGYsaCxiLHgseT0wPG9bMzddLmNvb2tpZXM/Lmxlbmd0aCYmWm4obyk7ZnVuY3Rpb24gdygpe3JldHVybiBvWzI3XShvWzM3XSl9KHU9bmV3IHluKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6b1syNF0sY2F0ZWdvcnlTZWxlY3Rvckljb246b1syNV0saWQ6b1szN10uaWQsYWN0aXZlOm9bMzddLmFjY2VwdH19KSkuJG9uKCJ0b2dnbGVkIixmdW5jdGlvbigpe3JldHVybiBvWzI4XShvWzM3XSl9KTtsZXQgQz1vWzddPT09b1szN10uaWQmJmVhKG8pO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1kZSgiZGl2Iiksbj1kZSgiZGl2IiksYT1kZSgiZGl2IiksbD1wZShzKSxjPXVlKCkseSYmeS5jKCksZD11ZSgpLHA9ZGUoImRpdiIpLHhlKHUuJCQuZnJhZ21lbnQpLGc9dWUoKSxDJiZDLmMoKSxtPXVlKCksbWUobiwiY2xhc3MiLG9bMjFdKCkpLG1lKGksImNsYXNzIixvWzIwXSgpKSxtZShyLCJjbGFzcyIsb1sxOV0oKSksbWUociwiaWQiLGY9b1szN10uaWQpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpLHNlKGEsbCksc2UobixjKSx5JiZ5Lm0obixudWxsKSxzZShpLGQpLHNlKGkscCkseWUodSxwLG51bGwpLHNlKHIsZyksQyYmQy5tKHIsbnVsbCksc2UocixtKSxoPSEwLGJ8fCh4PWdlKG4sImNsaWNrIix3KSxiPSEwKX0scChlLHQpe289ZSwoIWh8fDI1NiZ0WzBdKSYmcyE9PShzPW9bMzddLm5hbWUrIiIpJiZmZShsLHMpLDA8b1szN10uY29va2llcz8ubGVuZ3RoP3k/KHkucChvLHQpLDI1NiZ0WzBdJiZoZSh5LDEpKTooKHk9Wm4obykpLmMoKSxoZSh5LDEpLHkubShuLG51bGwpKTp5JiYoaWUoKSxiZSh5LDEsMSwoKT0+e3k9bnVsbH0pLG5lKCkpO2U9e307MjU2JnRbMF0mJihlLmlkPW9bMzddLmlkKSwyNTYmdFswXSYmKGUuYWN0aXZlPW9bMzddLmFjY2VwdCksdS4kc2V0KGUpLG9bN109PT1vWzM3XS5pZD9DPyhDLnAobyx0KSwzODQmdFswXSYmaGUoQywxKSk6KChDPWVhKG8pKS5jKCksaGUoQywxKSxDLm0ocixtKSk6QyYmKGllKCksYmUoQywxLDEsKCk9PntDPW51bGx9KSxuZSgpKSwoIWh8fDI1NiZ0WzBdJiZmIT09KGY9b1szN10uaWQpKSYmbWUociwiaWQiLGYpfSxpKGUpe2h8fChoZSh5KSxoZSh1LiQkLmZyYWdtZW50LGUpLGhlKEMpLGg9ITApfSxvKGUpe2JlKHkpLGJlKHUuJCQuZnJhZ21lbnQsZSksYmUoQyksaD0hMX0sZChlKXtlJiZjZShyKSx5JiZ5LmQoKSx3ZSh1KSxDJiZDLmQoKSxiPSExLHgoKX19fWZ1bmN0aW9uIGlhKGUpe2xldCBvLHIsaT0oMDxlWzhdPy5sZW5ndGh8fGVbNF0pJiZHbihlKTtyZXR1cm57Yygpe2kmJmkuYygpLG89Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxyPSEwfSxwKGUsdCl7MDxlWzhdPy5sZW5ndGh8fGVbNF0/aT8oaS5wKGUsdCksMjcyJnRbMF0mJmhlKGksMSkpOigoaT1HbihlKSkuYygpLGhlKGksMSksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGllKCksYmUoaSwxLDEsKCk9PntpPW51bGx9KSxuZSgpKX0saShlKXtyfHwoaGUoaSkscj0hMCl9LG8oZSl7YmUoaSkscj0hMX0sZChlKXtpJiZpLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBuYShlLHQsbyl7bGV0IHI9dC5jb25maWcsaT10LnRhZ0NhdGVnb3J5SWQsbj10LmNhdE5hbWUsYT10LmNhdERlc2Mse3JlcXVpcmVkOnM9ITF9PXQsbD10LnN0eWxlcztsZXQgYz0kbygpLGQ9ITEscD1yPy5kaXNjbGFpbWVyT3B0aW9ucz8udW5jaGVja1RhZ3N8fCExLHU9IXAsZzt0PVt7aWQ6IjEiLGNvbXBvbmVudDokbn0se2lkOiIyIixjb21wb25lbnQ6VW59LHtpZDoiMyIsY29tcG9uZW50OlJufSx7aWQ6IjQiLGNvbXBvbmVudDpqbn0se2lkOiI1Iixjb21wb25lbnQ6Qm59XT8uZmluZChlPT5lLmlkPT09aSk/LmNvbXBvbmVudDtsZXQgbT1yPy50YWdzPy5maWx0ZXIoZT0+ZT8udGFnX2NhdGVnb3J5X2lkPT09cGFyc2VJbnQoaSkpO2xldCBmPSgpPT5tLnJlZHVjZSgoZSx0KT0+dC5hY2NlcHQ/ZSsxOmUsMCksaD1mKCk7bGV0IGI9ZT0+e2UuaWQ9PT1nfHwwPT09ZS5jb29raWVzPy5sZW5ndGg/byg3LGc9dm9pZCAwKTpvKDcsZz1lLmlkKX0seD1lPT57c3x8KGMoInRvZ2dsZWQiLGUpLG8oOCxtPXI/LnRhZ3M/LmZpbHRlcihlPT5lPy50YWdfY2F0ZWdvcnlfaWQ9PT1wYXJzZUludChpKSkpLG8oOSxoPWYoKSksbyg4LG09cj8udGFncz8uZmlsdGVyKGU9PmU/LnRhZ19jYXRlZ29yeV9pZD09PXBhcnNlSW50KGkpKSkpfTt2YXJ7Y2F0ZWdvcnk6eSxjYXRlZ29yeVRpdGxlOncsY2F0ZWdvcnlJY29uOkMsY2F0ZWdvcnlEZXNjcmlwdGlvbjp2LGNhdGVnb3J5VG9vZ2xlU2hvd1RhZ3M6ayxjYXRlZ29yeVRhZzpJLGNhdGVnb3J5VGFnVGl0bGVTZWN0aW9uOlMsY2F0ZWdvcnlUYWdUaXRsZTpULGNhdGVnb3J5VGFnQ29va2llQ29udGFpbmVyOkwsY2F0ZWdvcnlUYWdDbGVhbkNhY2hlTGluazokLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOkEsY2F0ZWdvcnlTZWxlY3Rvckljb246RX09KChlLHQpPT57dmFye2NvbG9yczpvLGRpc2NsYWltZXJPcHRpb25zOnJ9PWUse3N0eWxlczplLGhhc0ltcG9ydGFudDppfT1lLnN0eWxlcz8/e30se3RoZW1lOnQ9ImxpZ2h0IixzdHlsZXM6bixoYXNJbXBvcnRhbnQ6YSxjb2xvcnM6c309dDtsZXQgbD12b2lkIDA9PT1hfHxhP3ZvaWQgMD09PWl8fGk/IiFpbXBvcnRhbnQiOiIiOiIiO2E9IiFpbXBvcnRhbnQiPT09bD8idW5zZXQgIWltcG9ydGFudCI6IiIsaT1yPy5hY2Nlc3NpYmlsaXR5O3JldHVybntjYXRlZ29yeTpCKHthbGw6YSxkaXNwbGF5OiJmbGV4ICIrbCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxtYXJnaW46IjVweCAwICIrbCxmbGV4V3JhcDoid3JhcCAiK2wscGFkZGluZ1JpZ2h0OiIxMHB4ICIrbCx2YXJpYW50czp7cmVxdWlyZWQ6e3RydWU6e29wYWNpdHk6IjAuNzUgIitsfX19LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeX19KSxjYXRlZ29yeVRpdGxlOkIoe2FsbDphLGZsZXhHcm93OiIxICIrbCxmb250V2VpZ2h0OiJib2xkICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGl0bGUsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGl0bGUsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZX19KSxjYXRlZ29yeUljb246Qih7YWxsOmEsd2lkdGg6IjEycHggIitsLGhlaWdodDoiMTJweCAiK2wsZGlzcGxheToiaW5saW5lLWJsb2NrICIrbCx2ZXJ0aWNhbEFsaWduOiJtaWRkbGUgIitsLG9iamVjdEZpdDoiY292ZXIgIitsLG1hcmdpblJpZ2h0OiI1cHggIitsLG1hcmdpblRvcDoiLTRweCAiK2wsb3BhY2l0eToiMC44ICIrbCwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/Lmljb24sLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5pY29uLCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5pY29uLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uaWNvbn19KSxjYXRlZ29yeURlc2NyaXB0aW9uOkIoe2FsbDphLGZvbnRTaXplOiIkc21hbGxUZXh0ICIrbCx3aWR0aDoiMTAwJSAiK2wsZGlzcGxheToiYmxvY2sgIitsLHBhZGRpbmdSaWdodDoiMTBweCAiK2wsbGluZUhlaWdodDoiMTJweCAiK2wsbWFyZ2luQm90dG9tOiIycHggIitsLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbn19KSxjYXRlZ29yeVRvb2dsZVNob3dUYWdzOkIoe2FsbDphLGZvbnRXZWlnaHQ6ImJvbGQgIitsLGRpc3BsYXk6ImZsZXggIitsLGdhcDoiNHB4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsbWFyZ2luQm90dG9tOiIycHggIitsLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3MsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udG9vZ2xlU2hvd1RhZ3MsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFnc319KSxjYXRlZ29yeVRhZzpCKHthbGw6YSxwYWRkaW5nOiI0cHggOHB4ICIrbCxtYXJnaW5Cb3R0b206IjVweCAiK2wsYm9yZGVyUmFkaXVzOiIxM3B4ICIrbCx3aWR0aDoiMTAwJSAiK2wsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2wsYm9yZGVyOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSwuMSl9IGArbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLGJvcmRlcjpgMXB4IHNvbGlkICR7UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scyksLjEpfSBgK2wsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWcsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWd9fSksY2F0ZWdvcnlUYWdUaXRsZVNlY3Rpb246Qih7YWxsOmEsZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9ufX0pLGNhdGVnb3J5VGFnVGl0bGU6Qih7YWxsOmEsZmxleEdyb3c6IjEgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCwiJiA+IGRpdiI6e2FsbDphLG1hcmdpblJpZ2h0OiI1cHggIitsfSwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGUsIkBtb2JpbGUiOnsiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpfSwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGV9fSksY2F0ZWdvcnlUYWdDb29raWVDb250YWluZXI6Qih7YWxsOmEsZGlzcGxheToiZmxleCAiK2wsZmxleERpcmVjdGlvbjoiY29sdW1uICIrbCxnYXA6IjVweCAiK2wscGFkZGluZzoiNHB4IDhweCAiK2wsbWFyZ2luOiIxMHB4IDAgNXB4ICIrbCxib3JkZXJSYWRpdXM6IjNweCAiK2wsYmFja2dyb3VuZE9wYWNpdHk6IjAuMiAiK2wsd29yZEJyZWFrOiJicmVhay13b3JkICIrbCxiYWNrZ3JvdW5kOlF0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpLC4xKSsiICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lciwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lciwiQG1vYmlsZSI6e2JhY2tncm91bmQ6UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scyksLjEpKyIgIitsLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyfX0pLGNhdGVnb3J5VGFnQ2xlYW5DYWNoZUxpbms6Qih7YWxsOmEsY3Vyc29yOiJwb2ludGVyICIrbCxtYXJnaW46IjIwcHggMCA1cHggMCAiK2wsdGV4dERlY29yYXRpb246Im5vbmUgIitsLHRyYW5zaXRpb25EdXJhdGlvbjoiMjUwbXMgIitsLGRpc3BsYXk6ImZsZXggIitsLGdhcDoiMnB4ICIrbCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbCwiJjpob3ZlciI6e3RleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitsfSwiJiBkaXY6bGFzdC1jaGlsZCI6e21hcmdpbkxlZnQ6IjRweCAiK2x9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnRleHRDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmssLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ2xlYW5DYWNoZUxpbmssLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGlua319KSxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpCKHtoZWlnaHQ6IjE4cHggIitsLHdpZHRoOiI0MHB4ICIrbCxib3JkZXJSYWRpdXM6IjhweCAiK2wsZGlzcGxheToiZmxleCAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLG9wYWNpdHk6IjAuNSAiK2wsYmFja2dyb3VuZENvbG9yOiIjMzMzICIrbCx2YXJpYW50czp7YWN0aXZlOnt0cnVlOntqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQgIitsLG9wYWNpdHk6IjEgIitsLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH19fX0sIiY6Zm9jdXMtdmlzaWJsZSI6aSYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrbCxvdXRsaW5lT2Zmc2V0OiIycHggIitsfSwiQG1vYmlsZSI6eyImIGRpdiI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8scykrIiAiK2x9fX0pLGNhdGVnb3J5U2VsZWN0b3JJY29uOkIoe3dpZHRoOiIxNXB4ICIrbCxoZWlnaHQ6IjE1cHggIitsLGJvcmRlclJhZGl1czoiNTAlICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitsLG1hcmdpbjoiMnB4ICIrbCxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLmJnQ29sb3IsdCxvLHMpKyIgIitsLCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LHZhcmlhbnRzOnthY3RpdmU6e3RydWU6eyImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH19fX19LCJAbW9iaWxlIjp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxzKSsiICIrbCwiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfX19KX19KShyLGwpO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJm8oMCxyPWUuY29uZmlnKSwidGFnQ2F0ZWdvcnlJZCJpbiBlJiZvKDEsaT1lLnRhZ0NhdGVnb3J5SWQpLCJjYXROYW1lImluIGUmJm8oMixuPWUuY2F0TmFtZSksImNhdERlc2MiaW4gZSYmbygzLGE9ZS5jYXREZXNjKSwicmVxdWlyZWQiaW4gZSYmbyg0LHM9ZS5yZXF1aXJlZCksInN0eWxlcyJpbiBlJiZvKDI2LGw9ZS5zdHlsZXMpfSxwP20ubGVuZ3RoJiZzfHxtLmxlbmd0aD09PWYoKT9zZXRUaW1lb3V0KCgpPT51PSEwLDApOnNldFRpbWVvdXQoKCk9PnU9ITEsMCk6bS5zb21lKGU9PiFlLmFjY2VwdCl8fCFtLmxlbmd0aD9zZXRUaW1lb3V0KCgpPT51PSExLDApOnNldFRpbWVvdXQoKCk9PnU9ITAsMCksW3IsaSxuLGEscyx0LGQsZyxtLGgsYXN5bmMoKT0+e3N8fCh1PSF1LGMoInRvZ2dsZWRDYXQiLHtjYXRlZ29yeUlkOmksdGFnczptLm1hcChlPT5lLmlkKSxzdGF0ZTp1fSksYXdhaXQgX28oKSxkJiYobyg2LGQ9ITEpLHNldFRpbWVvdXQoZT0+byg2LGQ9ITApLDApKSxvKDksaD1mKCkpLG8oOCxtPXI/LnRhZ3M/LmZpbHRlcihlPT5lPy50YWdfY2F0ZWdvcnlfaWQ9PT1wYXJzZUludChpKSkpKX0sKCk9PntvKDYsZD0hZCl9LGIseCx5LHcsQyx2LGssSSxTLFQsTCwkLEEsRSxsLGU9PmIoZSksZT0+eChlLmlkKV19Y2xhc3MgYWEgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsbmEsaWEscix7Y29uZmlnOjAsdGFnQ2F0ZWdvcnlJZDoxLGNhdE5hbWU6MixjYXREZXNjOjMscmVxdWlyZWQ6NCxzdHlsZXM6MjZ9LG51bGwsWy0xLC0xXSl9fWZ1bmN0aW9uIHNhKGUsdCxvKXtlPWUuc2xpY2UoKTtyZXR1cm4gZVsyNF09dFtvXSxlfWZ1bmN0aW9uIGxhKHQpe2xldCBpLG8sZT10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmVmVuZG9ycz8ubmFtZSsiIixuLHIsYSxzLGw9dFswXT8uaWFiVGFncz8ubGVuZ3RoKyIiLGMsZCxwLHUsZz10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmVmVuZG9ycz8uZGVzY3JpcHRpb24rIiIsbSxmLGgsYix4PXRbMF0uaWFiVGFncyx5PVtdO2ZvcihsZXQgZT0wO2U8eC5sZW5ndGg7ZSs9MSl5W2VdPWdhKHNhKHQseCxlKSk7cmV0dXJue2MoKXtpPWRlKCJkaXYiKSxvPWRlKCJkaXYiKSxuPXBlKGUpLHI9cGUoIlxuICAgICAgKCIpLGE9cGUodFsyXSkscz1wZSgiLyIpLGM9cGUobCksZD1wZSgiKSIpLHA9dWUoKSx1PWRlKCJkaXYiKSxtPXBlKGcpLGY9dWUoKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoO2UrPTEpeVtlXS5jKCk7bWUobywiY2xhc3MiLHRbN10oKSksbWUodSwiY2xhc3MiLHRbOF0oKSksbWUoaSwiY2xhc3MiLGg9dFs2XSh7cmVxdWlyZWQ6dFsxXX0pKSxtZShpLCJpZCIsImNhdElhYiIpfSxtKGUsdCl7bGUoZSxpLHQpLHNlKGksbyksc2UobyxuKSxzZShvLHIpLHNlKG8sYSksc2UobyxzKSxzZShvLGMpLHNlKG8sZCksc2UoaSxwKSxzZShpLHUpLHNlKHUsbSksc2UoaSxmKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoO2UrPTEpeVtlXSYmeVtlXS5tKGksbnVsbCk7Yj0hMH0scCh0LG8pe2lmKCghYnx8MSZvKSYmZSE9PShlPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZWZW5kb3JzPy5uYW1lKyIiKSYmZmUobixlKSwoIWJ8fDQmbykmJmZlKGEsdFsyXSksKCFifHwxJm8pJiZsIT09KGw9dFswXT8uaWFiVGFncz8ubGVuZ3RoKyIiKSYmZmUoYyxsKSwoIWJ8fDEmbykmJmchPT0oZz10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmVmVuZG9ycz8uZGVzY3JpcHRpb24rIiIpJiZmZShtLGcpLDEzMDYxNyZvKXt4PXRbMF0uaWFiVGFncztsZXQgZTtmb3IoZT0wO2U8eC5sZW5ndGg7ZSs9MSl7dmFyIHI9c2EodCx4LGUpO3lbZV0/KHlbZV0ucChyLG8pLGhlKHlbZV0sMSkpOih5W2VdPWdhKHIpLHlbZV0uYygpLGhlKHlbZV0sMSkseVtlXS5tKGksbnVsbCkpfWZvcihpZSgpLGU9eC5sZW5ndGg7ZTx5Lmxlbmd0aDtlKz0xKShlPT5iZSh5W2VdLDEsMSwoKT0+e3lbZV09bnVsbH0pKShlKTtuZSgpfSghYnx8MiZvJiZoIT09KGg9dFs2XSh7cmVxdWlyZWQ6dFsxXX0pKSkmJm1lKGksImNsYXNzIixoKX0saShlKXtpZighYil7Zm9yKGxldCBlPTA7ZTx4Lmxlbmd0aDtlKz0xKWhlKHlbZV0pO2I9ITB9fSxvKGUpe3k9eS5maWx0ZXIoQm9vbGVhbik7Zm9yKGxldCBlPTA7ZTx5Lmxlbmd0aDtlKz0xKWJlKHlbZV0pO2I9ITF9LGQoZSl7ZSYmY2UoaSksbW8oeSxlKX19fWZ1bmN0aW9uIGNhKGUpe2xldCBvPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZldpdGhvdXRSZWZyZXNoQ29va2llKyIiLHI7cmV0dXJue2MoKXtyPXBlKG8pfSxtKGUsdCl7bGUoZSxyLHQpfSxwKGUsdCl7MSZ0JiZvIT09KG89ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmV2l0aG91dFJlZnJlc2hDb29raWUrIiIpJiZmZShyLG8pfSxkKGUpe2UmJmNlKHIpfX19ZnVuY3Rpb24gZGEoZSl7bGV0IG89ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmUmVmcmVzaENvb2tpZSsiIixyO3JldHVybntjKCl7cj1wZShvKX0sbShlLHQpe2xlKGUscix0KX0scChlLHQpezEmdCYmbyE9PShvPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlJlZnJlc2hDb29raWUrIiIpJiZmZShyLG8pfSxkKGUpe2UmJmNlKHIpfX19ZnVuY3Rpb24gcGEoZSl7bGV0IG8scixpPWVbMF0udGV4dHMuYm9keVRleHRzLnRjZlZlbmRvclByaXZhY3lQb2xpY3krIiIsbixhO3JldHVybntjKCl7bz1wZSgifFxuICAgICAgICAgICAgICAiKSxyPWRlKCJhIiksbj1wZShpKSxtZShyLCJjbGFzcyIsZVsxNV0oKSksbWUociwidGFyZ2V0IiwiX2JsYW5rIiksbWUociwiaHJlZiIsYT1lWzI0XS51cmxzWzBdLnByaXZhY3kpfSxtKGUsdCl7bGUoZSxvLHQpLGxlKGUscix0KSxzZShyLG4pfSxwKGUsdCl7MSZ0JiZpIT09KGk9ZVswXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yUHJpdmFjeVBvbGljeSsiIikmJmZlKG4saSksMSZ0JiZhIT09KGE9ZVsyNF0udXJsc1swXS5wcml2YWN5KSYmbWUociwiaHJlZiIsYSl9LGQoZSl7ZSYmY2UobyksZSYmY2Uocil9fX1mdW5jdGlvbiB1YShvKXtsZXQgcixpPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmxlZ2l0aW1hdGVJbnRlcmVzdCsiIixuLGEscz1vWzI0XS5sZWdJbnRBbW91bnQrIiIsbCxjLGQ9KG9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlB1cnBvc2U/PyIiKSsiIixwLHUsZyxtO3JldHVybihnPW5ldyB5bih7cHJvcHM6e2NhdGVnb3J5U2VsZWN0b3JJY29uOm9bMTNdLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOm9bMTRdLGlkOm9bMjRdLm5hbWUsYWN0aXZlOm9bMjRdLmxlZ0ludH19KSkuJG9uKCJ0b2dnbGVkIixmdW5jdGlvbigpe3JldHVybiBvWzIxXShvWzI0XSl9KSx7Yygpe3I9ZGUoImRpdiIpLG49cGUoaSksYT1wZSgiXG4gICAgICAgICAgICAgICgiKSxsPXBlKHMpLGM9dWUoKSxwPXBlKGQpLHU9cGUoIilcbiAgICAgICAgICAgICAgIikseGUoZy4kJC5mcmFnbWVudCksbWUociwiY2xhc3MiLG9bMTZdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsbiksc2UocixhKSxzZShyLGwpLHNlKHIsYyksc2UocixwKSxzZShyLHUpLHllKGcscixudWxsKSxtPSEwfSxwKGUsdCl7bz1lLCghbXx8MSZ0KSYmaSE9PShpPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmxlZ2l0aW1hdGVJbnRlcmVzdCsiIikmJmZlKG4saSksKCFtfHwxJnQpJiZzIT09KHM9b1syNF0ubGVnSW50QW1vdW50KyIiKSYmZmUobCxzKSwoIW18fDEmdCkmJmQhPT0oZD0ob1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmUHVycG9zZT8/IiIpKyIiKSYmZmUocCxkKTtlPXt9OzEmdCYmKGUuaWQ9b1syNF0ubmFtZSksMSZ0JiYoZS5hY3RpdmU9b1syNF0ubGVnSW50KSxnLiRzZXQoZSl9LGkoZSl7bXx8KGhlKGcuJCQuZnJhZ21lbnQsZSksbT0hMCl9LG8oZSl7YmUoZy4kJC5mcmFnbWVudCxlKSxtPSExfSxkKGUpe2UmJmNlKHIpLHdlKGcpfX19ZnVuY3Rpb24gZ2Eobyl7bGV0IHIsaSxuLGEscz1vWzI0XS5uYW1lKyIiLGwsTixjLGQ9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmQ29va2llRHVyYXRpb24rIiIscCxWLHU9TWF0aC5mbG9vcihvWzI0XS5jb29raWVNYXhBZ2VTZWNvbmRzLzg2NDAwKSsiIixnLE0sbT1WaT8uW29bMF0ubGFuZ3VhZ2VdPy51bml0T2ZUaW1lPy5kYXlzKyIiLGYseixGLGgsYix4PW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlNlZU1vcmVEZXRhaWxzKyIiLHksVSx3PW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZkRldGFpbHNEZXNjcmlwdGlvbisiIixDLFcsdixILEcscSxrLEksUyxUPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlZpZXdEZXRhaWxzKyIiLEwsSyxRLCQsQT1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy5jb25zZW50KyIiLEUsSixSLFosWSxPLEQsWCxlZTtmdW5jdGlvbiB0ZSgpe3JldHVybiBvWzE4XShvWzI0XSl9ZnVuY3Rpb24gb2UoZSl7cmV0dXJuIGVbMjRdLmNvb2tpZVJlZnJlc2g/ZGE6Y2F9bGV0IEI9b2UobyksUD1CKG8pO2Z1bmN0aW9uIHJlKCl7cmV0dXJuIG9bMTldKG9bMjRdKX1sZXQgXz1vWzI0XS51cmxzWzBdLnByaXZhY3kmJnBhKG8pOyhSPW5ldyB5bih7cHJvcHM6e2NhdGVnb3J5U2VsZWN0b3JJY29uOm9bMTNdLGNhdGVnb3J5U2VsZWN0b3JJY29uQ29udGFpbmVyOm9bMTRdLGlkOm9bMjRdLmlkLGFjdGl2ZTpvWzI0XS5hY2NlcHR9fSkpLiRvbigidG9nZ2xlZCIsZnVuY3Rpb24oKXtyZXR1cm4gb1syMF0ob1syNF0pfSk7bGV0IGo9dm9pZCAwIT09b1syNF0ubGVnSW50JiZ1YShvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImRpdiIpLGE9ZGUoImIiKSxsPXBlKHMpLE49dWUoKSxjPWRlKCJkaXYiKSxwPXBlKGQpLFY9dWUoKSxnPXBlKHUpLE09cGUoIiAoIiksZj1wZShtKSx6PXBlKCIpLiIpLEY9dWUoKSxoPWRlKCJkaXYiKSxiPWRlKCJzcGFuIikseT1wZSh4KSxVPXVlKCksQz1wZSh3KSxXPXVlKCksdj1kZSgiZGl2IiksUC5jKCksSD11ZSgpLEc9ZGUoImRpdiIpLHE9dWUoKSxrPWRlKCJkaXYiKSxJPWRlKCJkaXYiKSxTPWRlKCJzcGFuIiksTD1wZShUKSxLPXVlKCksXyYmXy5jKCksUT11ZSgpLCQ9ZGUoImRpdiIpLEU9cGUoQSksSj11ZSgpLHhlKFIuJCQuZnJhZ21lbnQpLFo9dWUoKSxqJiZqLmMoKSxZPXVlKCksbWUobiwiY2xhc3MiLG9bMTBdKCkpLG1lKGIsImNsYXNzIixvWzE1XSgpKSxtZShpLCJjbGFzcyIsb1sxMV0oKSksbWUoUywiY2xhc3MiLG9bMTVdKCkpLG1lKEksImNsYXNzIixvWzEyXSgpKSxtZSgkLCJjbGFzcyIsb1sxNl0oKSksbWUociwiY2xhc3MiLG9bOV0oKSksbWUociwiaWQiLE89b1syNF0uaWQpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpLHNlKGEsbCksc2UoaSxOKSxzZShpLGMpLHNlKGMscCksc2UoYyxWKSxzZShjLGcpLHNlKGMsTSksc2UoYyxmKSxzZShjLHopLHNlKGksRiksc2UoaSxoKSxzZShoLGIpLHNlKGIseSksc2UoaCxVKSxzZShoLEMpLHNlKGksVyksc2UoaSx2KSxQLm0odixudWxsKSxzZShyLEgpLHNlKHIsRyksc2UocixxKSxzZShyLGspLHNlKGssSSksc2UoSSxTKSxzZShTLEwpLHNlKEksSyksXyYmXy5tKEksbnVsbCksc2UoayxRKSxzZShrLCQpLHNlKCQsRSksc2UoJCxKKSx5ZShSLCQsbnVsbCksc2UoayxaKSxqJiZqLm0oayxudWxsKSxzZShyLFkpLEQ9ITAsWHx8KGVlPVtnZShiLCJjbGljayIsdGUpLGdlKFMsImNsaWNrIixyZSldLFg9ITApfSxwKGUsdCl7bz1lLCghRHx8MSZ0KSYmcyE9PShzPW9bMjRdLm5hbWUrIiIpJiZmZShsLHMpLCghRHx8MSZ0KSYmZCE9PShkPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZkNvb2tpZUR1cmF0aW9uKyIiKSYmZmUocCxkKSwoIUR8fDEmdCkmJnUhPT0odT1NYXRoLmZsb29yKG9bMjRdLmNvb2tpZU1heEFnZVNlY29uZHMvODY0MDApKyIiKSYmZmUoZyx1KSwoIUR8fDEmdCkmJm0hPT0obT1WaT8uW29bMF0ubGFuZ3VhZ2VdPy51bml0T2ZUaW1lPy5kYXlzKyIiKSYmZmUoZixtKSwoIUR8fDEmdCkmJnghPT0oeD1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZTZWVNb3JlRGV0YWlscysiIikmJmZlKHkseCksKCFEfHwxJnQpJiZ3IT09KHc9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8udGNmRGV0YWlsc0Rlc2NyaXB0aW9uKyIiKSYmZmUoQyx3KSxCPT09KEI9b2UobykpJiZQP1AucChvLHQpOihQLmQoMSksKFA9QihvKSkmJihQLmMoKSxQLm0odixudWxsKSkpLCghRHx8MSZ0KSYmVCE9PShUPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlZpZXdEZXRhaWxzKyIiKSYmZmUoTCxUKSxvWzI0XS51cmxzWzBdLnByaXZhY3k/Xz9fLnAobyx0KTooKF89cGEobykpLmMoKSxfLm0oSSxudWxsKSk6XyYmKF8uZCgxKSxfPW51bGwpLCghRHx8MSZ0KSYmQSE9PShBPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmNvbnNlbnQrIiIpJiZmZShFLEEpO2U9e307MSZ0JiYoZS5pZD1vWzI0XS5pZCksMSZ0JiYoZS5hY3RpdmU9b1syNF0uYWNjZXB0KSxSLiRzZXQoZSksdm9pZCAwIT09b1syNF0ubGVnSW50P2o/KGoucChvLHQpLDEmdCYmaGUoaiwxKSk6KChqPXVhKG8pKS5jKCksaGUoaiwxKSxqLm0oayxudWxsKSk6aiYmKGllKCksYmUoaiwxLDEsKCk9PntqPW51bGx9KSxuZSgpKSwoIUR8fDEmdCYmTyE9PShPPW9bMjRdLmlkKSkmJm1lKHIsImlkIixPKX0saShlKXtEfHwoaGUoUi4kJC5mcmFnbWVudCxlKSxoZShqKSxEPSEwKX0sbyhlKXtiZShSLiQkLmZyYWdtZW50LGUpLGJlKGopLEQ9ITF9LGQoZSl7ZSYmY2UociksUC5kKCksXyYmXy5kKCksd2UoUiksaiYmai5kKCksWD0hMSxybyhlZSl9fX1mdW5jdGlvbiBtYShlKXtsZXQgbyxyLGk9MDxlWzBdLmlhYlRhZ3M/Lmxlbmd0aCYmbGEoZSk7cmV0dXJue2MoKXtpJiZpLmMoKSxvPWZvKCl9LG0oZSx0KXtpJiZpLm0oZSx0KSxsZShlLG8sdCkscj0hMH0scChlLFt0XSl7MDxlWzBdLmlhYlRhZ3M/Lmxlbmd0aD9pPyhpLnAoZSx0KSwxJnQmJmhlKGksMSkpOigoaT1sYShlKSkuYygpLGhlKGksMSksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGllKCksYmUoaSwxLDEsKCk9PntpPW51bGx9KSxuZSgpKX0saShlKXtyfHwoaGUoaSkscj0hMCl9LG8oZSl7YmUoaSkscj0hMX0sZChlKXtpJiZpLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBmYShlLHQsbyl7bGV0IGE9dC5jb25maWcse3JlcXVpcmVkOnI9ITF9PXQsaT10LnN0eWxlcyxzPSRvKCksbj0oYT8uZGlzY2xhaW1lck9wdGlvbnM/LnVuY2hlY2tUYWdzLCgpPT5hLmlhYlRhZ3MucmVkdWNlKChlLHQpPT50LmFjY2VwdD9lKzE6ZSwwKSksbD1uKCksYz10PT57bygwLGEuaWFiVGFncz1hLmlhYlRhZ3M/Lm1hcChlPT5lPy5pZD09PXQ/ey4uLmUsYWNjZXB0OiFlLmFjY2VwdH06ZSksYSkscygidXBkYXRlSWFiVGFncyIsYS5pYWJUYWdzKSxvKDIsbD1uKCkpfSxkPXQ9PntvKDAsYS5pYWJUYWdzPWEuaWFiVGFncz8ubWFwKGU9PmU/LmlkPT09dCYmdm9pZCAwIT09ZS5sZWdJbnQ/ey4uLmUsbGVnSW50OiFlLmxlZ0ludH06ZSksYSkscygidXBkYXRlSWFiVGFncyIsYS5pYWJUYWdzKSxvKDIsbD1uKCkpfTt2YXJ7Y2F0ZWdvcnk6dCxjYXRlZ29yeVRpdGxlOnAsY2F0ZWdvcnlEZXNjcmlwdGlvbjp1LGNhdGVnb3J5VGFnOmcsY2F0ZWdvcnlUYWdUaXRsZVNlY3Rpb246bSxjYXRlZ29yeVRhZ1VwcGVyU2VjdGlvbjpmLGNhdGVnb3J5VGFnQm90dG9tU2VjdGlvbjpoLGNhdGVnb3J5U2VsZWN0b3JJY29uOmIsY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6eCxjYXRlZ29yeVRhZ0xpbms6eSxjYXRlZ29yeVRhZ1RvZ2dsZUNvbnRhaW5lcjp3fT0oKGUsdCk9Pnt2YXIgbz1lLmNvbG9ycyx7c3R5bGVzOmUsaGFzSW1wb3J0YW50OnJ9PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczppLGhhc0ltcG9ydGFudDpuLGNvbG9yczphfT10O2xldCBzPXZvaWQgMD09PW58fG4/dm9pZCAwPT09cnx8cj8iIWltcG9ydGFudCI6IiI6IiI7dmFyIG49IiFpbXBvcnRhbnQiPT09cz8idW5zZXQgIWltcG9ydGFudCI6IiIscj1CKHthbGw6bixkaXNwbGF5OiJmbGV4ICIrcyxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxtYXJnaW46IjVweCAwICIrcyxmbGV4V3JhcDoid3JhcCAiK3MscGFkZGluZ1JpZ2h0OiIxMHB4ICIrcyx2YXJpYW50czp7cmVxdWlyZWQ6e3RydWU6e29wYWNpdHk6IjAuNzUgIitzfX19LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeX19KSxsPUIoe2FsbDpuLGZsZXhHcm93OiIxICIrcyxmb250V2VpZ2h0OiJib2xkICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGl0bGUsLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGl0bGUsLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZX19KSxjPUIoe2FsbDpuLHdpZHRoOiIxMnB4ICIrcyxoZWlnaHQ6IjEycHggIitzLGRpc3BsYXk6ImlubGluZS1ibG9jayAiK3MsdmVydGljYWxBbGlnbjoibWlkZGxlICIrcyxvYmplY3RGaXQ6ImNvdmVyICIrcyxtYXJnaW5SaWdodDoiNXB4ICIrcyxtYXJnaW5Ub3A6Ii00cHggIitzLG9wYWNpdHk6IjAuOCAiK3MsIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5pY29uLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8uaWNvbiwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3N9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uaWNvbiwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/Lmljb259fSksZD1CKHthbGw6bixmb250U2l6ZToiJHNtYWxsVGV4dCAiK3Msd2lkdGg6IjEwMCUgIitzLGRpc3BsYXk6ImJsb2NrICIrcyxwYWRkaW5nUmlnaHQ6IjEwcHggIitzLGxpbmVIZWlnaHQ6IjEycHggIitzLG1hcmdpbkJvdHRvbToiMTBweCAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9ufX0pLHA9Qih7YWxsOm4sZm9udFdlaWdodDoiYm9sZCAiK3Msd2lkdGg6IjEwMCUgIitzLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsY3Vyc29yOiJwb2ludGVyICIrcyxtYXJnaW5Cb3R0b206IjJweCAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsIiYgPiBkaXYiOnthbGw6bixtYXJnaW5SaWdodDoiNHB4ICIrc30sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzfX0pLHU9Qih7YWxsOm4sbWFyZ2luQm90dG9tOiI1cHggIitzLGJvcmRlclJhZGl1czoiOHB4ICIrcyx3aWR0aDoiMTAwJSAiK3MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsYm9yZGVyOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSwuMSl9IGArcywuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLGJvcmRlcjpgMXB4IHNvbGlkICR7UXQoRChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSksLjEpfSBgK3MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWcsLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWd9fSksZz1CKHthbGw6bixkaXNwbGF5OiJmbGV4ICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb259fSksbT1CKHthbGw6bixmbGV4R3JvdzoiMSAiK3MsY3Vyc29yOiJwb2ludGVyICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLCImID4gZGl2Ijp7YWxsOm4sbWFyZ2luUmlnaHQ6IjVweCAiK3N9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnRleHRDb2xvcix0LG8sYSl9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSl9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZX19KSxmPUIoe2FsbDpuLGRpc3BsYXk6ImZsZXggIitzLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK3MsZ2FwOiI1cHggIitzLHBhZGRpbmc6IjRweCA4cHggIitzLG1hcmdpbjoiMTBweCAwIDVweCAiK3MsYm9yZGVyUmFkaXVzOiIzcHggIitzLGJhY2tncm91bmRPcGFjaXR5OiIwLjIgIitzLGJhY2tncm91bmQ6UXQoRChPLndlYixSLnRleHRDb2xvcix0LG8sYSksLjEpKyIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLCJAbW9iaWxlIjp7YmFja2dyb3VuZDpRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSwuMSkrIiAiK3MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXIsLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDb29raWVDb250YWluZXJ9fSksbj1CKHthbGw6bixjdXJzb3I6InBvaW50ZXIgIitzLG1hcmdpbjoiMjBweCAwIDVweCAwICIrcyx0ZXh0RGVjb3JhdGlvbjoibm9uZSAiK3MsdHJhbnNpdGlvbkR1cmF0aW9uOiIyNTBtcyAiK3MsZGlzcGxheToiZmxleCAiK3MsZ2FwOiIycHggIitzLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3N9LCImIGRpdjpsYXN0LWNoaWxkIjp7bWFyZ2luTGVmdDoiNHB4ICIrc30sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5pPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrc30sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rfX0pLGU9Qih7aGVpZ2h0OiIxOHB4ICIrcyx3aWR0aDoiNDBweCAiK3MsYm9yZGVyUmFkaXVzOiI4cHggIitzLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsY3Vyc29yOiJwb2ludGVyICIrcyxvcGFjaXR5OiIwLjUgIitzLGJhY2tncm91bmRDb2xvcjoiIzMzMyAiK3MsdmFyaWFudHM6e2FjdGl2ZTp7dHJ1ZTp7anVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kICIrcyxvcGFjaXR5OiIxICIrcyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3MsIkBtb2JpbGUiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9fX19LCJAbW9iaWxlIjp7IiYgZGl2Ijp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxhKSsiICIrc319fSk7cmV0dXJue2NhdGVnb3J5OnIsY2F0ZWdvcnlUaXRsZTpsLGNhdGVnb3J5SWNvbjpjLGNhdGVnb3J5RGVzY3JpcHRpb246ZCxjYXRlZ29yeVRvb2dsZVNob3dUYWdzOnAsY2F0ZWdvcnlUYWc6dSxjYXRlZ29yeVRhZ1RpdGxlU2VjdGlvbjpnLGNhdGVnb3J5VGFnVGl0bGU6bSxjYXRlZ29yeVRhZ0Nvb2tpZUNvbnRhaW5lcjpmLGNhdGVnb3J5VGFnQ2xlYW5DYWNoZUxpbms6bixjYXRlZ29yeVNlbGVjdG9ySWNvbjpCKHt3aWR0aDoiMTVweCAiK3MsaGVpZ2h0OiIxNXB4ICIrcyxib3JkZXJSYWRpdXM6IjUwJSAiK3MsZGlzcGxheToiZmxleCAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxqdXN0aWZ5Q29udGVudDoiY2VudGVyICIrcyxtYXJnaW46IjJweCAiK3MsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSx2YXJpYW50czp7YWN0aXZlOnt0cnVlOnsiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9fX19fSwiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sYSkrIiAiK3MsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fSksY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6ZSxjYXRlZ29yeVRhZ1VwcGVyU2VjdGlvbjpCKHtwYWRkaW5nOiI4cHggMTBweCAiK3MsYm9yZGVyQm90dG9tOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSwuMSl9IGArc30pLGNhdGVnb3J5VGFnQm90dG9tU2VjdGlvbjpCKHtjdXJzb3I6InBvaW50ZXIgIitzLHBhZGRpbmc6IjhweCAxMHB4ICIrcyxkaXNwbGF5OiJmbGV4ICIrcyxnYXA6IjVweCAiK3MsdGV4dERlY29yYXRpb246InVuZGVybGluZSAiK3MsY29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9KSxjYXRlZ29yeVRhZ0xpbms6Qih7Y3Vyc29yOiJwb2ludGVyICIrcyx0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrcyxjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc30pLGNhdGVnb3J5VGFnVG9nZ2xlQ29udGFpbmVyOkIoe2N1cnNvcjoicG9pbnRlciAiK3MsZGlzcGxheToiZmxleCAiK3MsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitzLHBhZGRpbmc6IjhweCAxMHB4ICIrc30pfX0pKGEsaSk7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmbygwLGE9ZS5jb25maWcpLCJyZXF1aXJlZCJpbiBlJiZvKDEscj1lLnJlcXVpcmVkKSwic3R5bGVzImluIGUmJm8oMTcsaT1lLnN0eWxlcyl9LFthLHIsbCxzLGMsZCx0LHAsdSxnLG0sZixoLGIseCx5LHcsaSxlPT57cygiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6YT8udGV4dHM/Lm1vZGFscz8uZGF0YUNvbGxlY3Q/LnRpdGxlLGNvbnRlbnREYXRhOmUuZGF0YURlY2xhcmF0aW9uLm1hcChlPT4oe3R5cGU6IkxJU1QiLGNvbnRlbnQ6ZS5uYW1lKyI6ICIrZS5kZXNjcmlwdGlvbn0pKX0pfSxyPT57bGV0IGU9W10sdD1bXSxvPVtdLGk9W10sbj1bXTswPHIucHVycG9zZXMubGVuZ3RoJiYoZT1be3R5cGU6IlRJVExFIixjb250ZW50OmEudGV4dHM/Lm1vZGFscz8uY29uc2VudC50aXRsZX0sLi4uci5wdXJwb3Nlcy5yZWR1Y2UoKGUsdCk9PntpZihlLnB1c2goe3R5cGU6IkxJU1QiLGJvbGRUZXh0OmAke3QubmFtZX0gKCR7YS50ZXh0cy5ib2R5VGV4dHMudGNmUHVycG9zZVJldGVudGlvbn06ICR7ci5kYXRhUmV0ZW50aW9uLnN0ZFJldGVudGlvbn0gJHtWaT8uW2EubGFuZ3VhZ2VdPy51bml0T2ZUaW1lPy5kYXlzfSk6YCxjb250ZW50OnQuZGVzY3JpcHRpb259KSx0LmlsbHVzdHJhdGlvbnMpe2UucHVzaCh7dHlwZToiU01BTExfVElUTEUiLGNvbnRlbnQ6Vmk/LlthLmxhbmd1YWdlXT8uaWxsdXN0cmF0aW9uc30pO2Zvcih2YXIgbyBvZiB0LmlsbHVzdHJhdGlvbnMpZS5wdXNoKHt0eXBlOiJJTlNJREVfTElTVCIsY29udGVudDpvfSl9cmV0dXJuIGV9LFtdKV0pLHIudXJsc1swXS5sZWdJbnRDbGFpbSYmKG89W3t0eXBlOiJMSU5LIixjb250ZW50OmEudGV4dHMuYm9keVRleHRzLnRjZlZlbmRvckxlZ0ludFByaXZhY3lQb2xpY3ksaHJlZjpyLnVybHNbMF0ubGVnSW50Q2xhaW19XSksMDxyLnNwZWNpYWxQdXJwb3Nlcy5sZW5ndGgmJih0PVt7dHlwZToiRElWSURFUiJ9LHt0eXBlOiJUSVRMRSIsY29udGVudDphLnRleHRzPy5tb2RhbHM/LmxlZ2l0aW1hdGVJbnRlcmVzdC50aXRsZX0sLi4uci5zcGVjaWFsUHVycG9zZXMubWFwKGU9Pih7dHlwZToiTElTVCIsYm9sZFRleHQ6ZS5uYW1lKyI6Iixjb250ZW50OmUuZGVzY3JpcHRpb259KSldKSwwPHIuZmVhdHVyZXMubGVuZ3RoJiYoaT1be3R5cGU6IkRJVklERVIifSx7dHlwZToiVElUTEUiLGNvbnRlbnQ6YS50ZXh0cz8ubW9kYWxzPy5kYXRhQ29sbGVjdGlvbk1ldGhvZHMudGl0bGV9LC4uLnIuZmVhdHVyZXMubWFwKGU9Pih7dHlwZToiTElTVCIsYm9sZFRleHQ6ZS5uYW1lKyI6Iixjb250ZW50OmUuZGVzY3JpcHRpb259KSldKSwwPHIuc3BlY2lhbEZlYXR1cmVzLmxlbmd0aCYmKG49W3t0eXBlOiJESVZJREVSIn0se3R5cGU6IlRJVExFIixjb250ZW50OmEudGV4dHM/Lm1vZGFscz8uc3BlY2lhbEZlYXR1cmVzLnRpdGxlfSwuLi5yLnNwZWNpYWxGZWF0dXJlcy5tYXAoZT0+KHt0eXBlOiJMSVNUIixib2xkVGV4dDplLm5hbWUrIjoiLGNvbnRlbnQ6ZS5kZXNjcmlwdGlvbn0pKV0pLHMoImhhbmRsZU9wZW5Nb2RhbCIse3RpdGxlOnIubmFtZSsiOiIsY29udGVudERhdGE6Wy4uLmUsLi4udCwuLi5vLC4uLmksLi4ubl19KX0sZT0+YyhlLmlkKSxlPT5kKGUuaWQpXX1jbGFzcyBoYSBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxmYSxtYSxyLHtjb25maWc6MCxyZXF1aXJlZDoxLHN0eWxlczoxN30pfX1mdW5jdGlvbiBiYShlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbMjVdPXRbb11bMF0sZVsyNl09dFtvXVsxXSxlfWZ1bmN0aW9uIHhhKGUsdCxvKXtlPWUuc2xpY2UoKTtyZXR1cm4gZVsyOV09dFtvXSxlfWZ1bmN0aW9uIHlhKHQpe2xldCBpLG8sZT10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmQ2F0ZWdvcnk/Lm5hbWUrIiIsbixyLGEscyxsPXRbMTVdPy5sZW5ndGgrIiIsYyxkLHAsdSxnPXRbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy50Y2ZDYXRlZ29yeT8uZGVzY3JpcHRpb24rIiIsbSxmLGgsYix4PU9iamVjdC5lbnRyaWVzKHRbMF0uaWFiQ2F0ZWdvcmllcykseT1bXTtmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrPTEpeVtlXT1rYShiYSh0LHgsZSkpO3JldHVybntjKCl7aT1kZSgiZGl2Iiksbz1kZSgiZGl2Iiksbj1wZShlKSxyPXBlKCJcbiAgICAgICgiKSxhPXBlKHRbMl0pLHM9cGUoIi8iKSxjPXBlKGwpLGQ9cGUoIikiKSxwPXVlKCksdT1kZSgiZGl2IiksbT1wZShnKSxmPXVlKCk7Zm9yKGxldCBlPTA7ZTx5Lmxlbmd0aDtlKz0xKXlbZV0uYygpO21lKG8sImNsYXNzIix0WzddKCkpLG1lKHUsImNsYXNzIix0WzhdKCkpLG1lKGksImNsYXNzIixoPXRbNl0oe3JlcXVpcmVkOnRbMV19KSksbWUoaSwiaWQiLCJjYXRJYWIiKX0sbShlLHQpe2xlKGUsaSx0KSxzZShpLG8pLHNlKG8sbiksc2UobyxyKSxzZShvLGEpLHNlKG8scyksc2UobyxjKSxzZShvLGQpLHNlKGkscCksc2UoaSx1KSxzZSh1LG0pLHNlKGksZik7Zm9yKGxldCBlPTA7ZTx5Lmxlbmd0aDtlKz0xKXlbZV0mJnlbZV0ubShpLG51bGwpO2I9ITB9LHAodCxvKXtpZigoIWJ8fDEmb1swXSkmJmUhPT0oZT10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmQ2F0ZWdvcnk/Lm5hbWUrIiIpJiZmZShuLGUpLCghYnx8NCZvWzBdKSYmZmUoYSx0WzJdKSwoIWJ8fDEmb1swXSkmJmchPT0oZz10WzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8udGNmQ2F0ZWdvcnk/LmRlc2NyaXB0aW9uKyIiKSYmZmUobSxnKSwzMjMxMyZvWzBdKXt4PU9iamVjdC5lbnRyaWVzKHRbMF0uaWFiQ2F0ZWdvcmllcyk7bGV0IGU7Zm9yKGU9MDtlPHgubGVuZ3RoO2UrPTEpe3ZhciByPWJhKHQseCxlKTt5W2VdPyh5W2VdLnAocixvKSxoZSh5W2VdLDEpKTooeVtlXT1rYShyKSx5W2VdLmMoKSxoZSh5W2VdLDEpLHlbZV0ubShpLG51bGwpKX1mb3IoaWUoKSxlPXgubGVuZ3RoO2U8eS5sZW5ndGg7ZSs9MSkoZT0+YmUoeVtlXSwxLDEsKCk9Pnt5W2VdPW51bGx9KSkoZSk7bmUoKX0oIWJ8fDImb1swXSYmaCE9PShoPXRbNl0oe3JlcXVpcmVkOnRbMV19KSkpJiZtZShpLCJjbGFzcyIsaCl9LGkoZSl7aWYoIWIpe2ZvcihsZXQgZT0wO2U8eC5sZW5ndGg7ZSs9MSloZSh5W2VdKTtiPSEwfX0sbyhlKXt5PXkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZT0wO2U8eS5sZW5ndGg7ZSs9MSliZSh5W2VdKTtiPSExfSxkKGUpe2UmJmNlKGkpLG1vKHksZSl9fX1mdW5jdGlvbiB3YShvKXtsZXQgcixpLG4sYT1vWzI5XS5uYW1lKyIiLHMsbCxjLGQ9b1syOV0uZGVzY3JpcHRpb24rIiIscCx1LGcsbT1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy50Y2ZWaWV3RGV0YWlscysiIixmLGgsYix4LHk9b1swXT8udGV4dHM/LmJvZHlUZXh0cz8uY29uc2VudCsiIix3LEMsdixrLEk9b1syOV0udmVuZG9yc1VzaW5nKyIiLFMsVCxMPW9bMF0udGV4dHMuYm9keVRleHRzLnRjZlZlbmRvcnNVc2luZysiIiwkLEEsRSxSLE8sRCxOLFYsQixQLF8sTTtmdW5jdGlvbiB6KCl7cmV0dXJuIG9bMTddKG9bMjldKX0oUj1uZXcgeW4oe3Byb3BzOntjYXRlZ29yeVNlbGVjdG9ySWNvbjpvWzEyXSxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpvWzEzXSxpZDpvWzI5XS5uYW1lLGFjdGl2ZTpvWzI5XS5hY2NlcHR9fSkpLiRvbigidG9nZ2xlZCIsZnVuY3Rpb24oKXtyZXR1cm4gb1sxOF0ob1syNV0sb1syOV0pfSk7bGV0IGo9dm9pZCAwIT09b1syOV0ubGVnSW50JiZDYShvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImIiKSxzPXBlKGEpLGw9dWUoKSxjPWRlKCJkaXYiKSxwPXBlKGQpLHU9dWUoKSxnPWRlKCJkaXYiKSxmPXBlKG0pLGg9dWUoKSxiPWRlKCJkaXYiKSx4PWRlKCJzcGFuIiksdz1wZSh5KSxDPXVlKCksdj1kZSgiYiIpLGs9cGUoIigiKSxTPXBlKEkpLFQ9dWUoKSwkPXBlKEwpLEE9cGUoIikiKSxFPXVlKCkseGUoUi4kJC5mcmFnbWVudCksTz11ZSgpLGomJmouYygpLEQ9dWUoKSxOPWRlKCJkaXYiKSxWPXVlKCksbWUoZywiY2xhc3MiLG9bMTRdKCkpLG1lKGksImNsYXNzIixvWzExXSgpKSxtZShiLCJjbGFzcyIsb1sxMF0oKSksbWUociwiY2xhc3MiLG9bOV0oKSksbWUociwiaWQiLEI9b1syOV0ubmFtZSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxzZShpLG4pLHNlKG4scyksc2UoaSxsKSxzZShpLGMpLHNlKGMscCksc2UoaSx1KSxzZShpLGcpLHNlKGcsZiksc2UocixoKSxzZShyLGIpLHNlKGIseCksc2UoeCx3KSxzZSh4LEMpLHNlKHgsdiksc2UodixrKSxzZSh2LFMpLHNlKHYsVCksc2UodiwkKSxzZSh2LEEpLHNlKGIsRSkseWUoUixiLG51bGwpLHNlKHIsTyksaiYmai5tKHIsbnVsbCksc2UocixEKSxzZShyLE4pLHNlKHIsViksUD0hMCxffHwoTT1nZShnLCJjbGljayIseiksXz0hMCl9LHAoZSx0KXtvPWUsKCFQfHwxJnRbMF0pJiZhIT09KGE9b1syOV0ubmFtZSsiIikmJmZlKHMsYSksKCFQfHwxJnRbMF0pJiZkIT09KGQ9b1syOV0uZGVzY3JpcHRpb24rIiIpJiZmZShwLGQpLCghUHx8MSZ0WzBdKSYmbSE9PShtPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LnRjZlZpZXdEZXRhaWxzKyIiKSYmZmUoZixtKSwoIVB8fDEmdFswXSkmJnkhPT0oeT1vWzBdPy50ZXh0cz8uYm9keVRleHRzPy5jb25zZW50KyIiKSYmZmUodyx5KSwoIVB8fDEmdFswXSkmJkkhPT0oST1vWzI5XS52ZW5kb3JzVXNpbmcrIiIpJiZmZShTLEkpLCghUHx8MSZ0WzBdKSYmTCE9PShMPW9bMF0udGV4dHMuYm9keVRleHRzLnRjZlZlbmRvcnNVc2luZysiIikmJmZlKCQsTCk7ZT17fTsxJnRbMF0mJihlLmlkPW9bMjldLm5hbWUpLDEmdFswXSYmKGUuYWN0aXZlPW9bMjldLmFjY2VwdCksUi4kc2V0KGUpLHZvaWQgMCE9PW9bMjldLmxlZ0ludD9qPyhqLnAobyx0KSwxJnRbMF0mJmhlKGosMSkpOigoaj1DYShvKSkuYygpLGhlKGosMSksai5tKHIsRCkpOmomJihpZSgpLGJlKGosMSwxLCgpPT57aj1udWxsfSksbmUoKSksKCFQfHwxJnRbMF0mJkIhPT0oQj1vWzI5XS5uYW1lKSkmJm1lKHIsImlkIixCKX0saShlKXtQfHwoaGUoUi4kJC5mcmFnbWVudCxlKSxoZShqKSxQPSEwKX0sbyhlKXtiZShSLiQkLmZyYWdtZW50LGUpLGJlKGopLFA9ITF9LGQoZSl7ZSYmY2Uociksd2UoUiksaiYmai5kKCksXz0hMSxNKCl9fX1mdW5jdGlvbiBDYShvKXtsZXQgcixpLG49b1swXT8udGV4dHM/LmJvZHlUZXh0cz8ubGVnaXRpbWF0ZUludGVyZXN0KyIiLGEscyxsLGMsZD1vWzI5XS52ZW5kb3JzVXNpbmdMZWd0SW50KyIiLHAsdSxnPW9bMF0udGV4dHMuYm9keVRleHRzLnRjZlZlbmRvcnNVc2luZysiIixtLGYsaCxiLHg7cmV0dXJuKGI9bmV3IHluKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb246b1sxMl0sY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6b1sxM10saWQ6b1syOV0ubmFtZSxhY3RpdmU6b1syOV0ubGVnSW50fX0pKS4kb24oInRvZ2dsZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIG9bMTldKG9bMjVdLG9bMjldKX0pLHtjKCl7cj1kZSgiZGl2IiksaT1kZSgic3BhbiIpLGE9cGUobikscz11ZSgpLGw9ZGUoImIiKSxjPXBlKCIoIikscD1wZShkKSx1PXVlKCksbT1wZShnKSxmPXBlKCIpIiksaD11ZSgpLHhlKGIuJCQuZnJhZ21lbnQpLG1lKHIsImNsYXNzIixvWzEwXSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksYSksc2UoaSxzKSxzZShpLGwpLHNlKGwsYyksc2UobCxwKSxzZShsLHUpLHNlKGwsbSksc2UobCxmKSxzZShyLGgpLHllKGIscixudWxsKSx4PSEwfSxwKGUsdCl7bz1lLCgheHx8MSZ0WzBdKSYmbiE9PShuPW9bMF0/LnRleHRzPy5ib2R5VGV4dHM/LmxlZ2l0aW1hdGVJbnRlcmVzdCsiIikmJmZlKGEsbiksKCF4fHwxJnRbMF0pJiZkIT09KGQ9b1syOV0udmVuZG9yc1VzaW5nTGVndEludCsiIikmJmZlKHAsZCksKCF4fHwxJnRbMF0pJiZnIT09KGc9b1swXS50ZXh0cy5ib2R5VGV4dHMudGNmVmVuZG9yc1VzaW5nKyIiKSYmZmUobSxnKTtlPXt9OzEmdFswXSYmKGUuaWQ9b1syOV0ubmFtZSksMSZ0WzBdJiYoZS5hY3RpdmU9b1syOV0ubGVnSW50KSxiLiRzZXQoZSl9LGkoZSl7eHx8KGhlKGIuJCQuZnJhZ21lbnQsZSkseD0hMCl9LG8oZSl7YmUoYi4kJC5mcmFnbWVudCxlKSx4PSExfSxkKGUpe2UmJmNlKHIpLHdlKGIpfX19ZnVuY3Rpb24gdmEoZSl7bGV0IG8scixpPXZvaWQgMCE9PWVbMjldLmFjY2VwdCYmd2EoZSk7cmV0dXJue2MoKXtpJiZpLmMoKSxvPWZvKCl9LG0oZSx0KXtpJiZpLm0oZSx0KSxsZShlLG8sdCkscj0hMH0scChlLHQpe3ZvaWQgMCE9PWVbMjldLmFjY2VwdD9pPyhpLnAoZSx0KSwxJnRbMF0mJmhlKGksMSkpOigoaT13YShlKSkuYygpLGhlKGksMSksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGllKCksYmUoaSwxLDEsKCk9PntpPW51bGx9KSxuZSgpKX0saShlKXtyfHwoaGUoaSkscj0hMCl9LG8oZSl7YmUoaSkscj0hMX0sZChlKXtpJiZpLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBrYSh0KXtsZXQgaSxyLG49T2JqZWN0LnZhbHVlcyh0WzI2XSksYT1bXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrPTEpYVtlXT12YSh4YSh0LG4sZSkpO3JldHVybntjKCl7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWFbZV0uYygpO2k9Zm8oKX0sbSh0LG8pe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSlhW2VdJiZhW2VdLm0odCxvKTtsZSh0LGksbykscj0hMH0scCh0LG8pe2lmKDMyMzEzJm9bMF0pe249T2JqZWN0LnZhbHVlcyh0WzI2XSk7bGV0IGU7Zm9yKGU9MDtlPG4ubGVuZ3RoO2UrPTEpe3ZhciByPXhhKHQsbixlKTthW2VdPyhhW2VdLnAocixvKSxoZShhW2VdLDEpKTooYVtlXT12YShyKSxhW2VdLmMoKSxoZShhW2VdLDEpLGFbZV0ubShpLnBhcmVudE5vZGUsaSkpfWZvcihpZSgpLGU9bi5sZW5ndGg7ZTxhLmxlbmd0aDtlKz0xKShlPT5iZShhW2VdLDEsMSwoKT0+e2FbZV09bnVsbH0pKShlKTtuZSgpfX0saShlKXtpZighcil7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKz0xKWhlKGFbZV0pO3I9ITB9fSxvKGUpe2E9YS5maWx0ZXIoQm9vbGVhbik7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWJlKGFbZV0pO3I9ITF9LGQoZSl7bW8oYSxlKSxlJiZjZShpKX19fWZ1bmN0aW9uIElhKGUpe2xldCBvLHIsaT0wPGVbMF0uaWFiVGFncz8ubGVuZ3RoJiZ5YShlKTtyZXR1cm57Yygpe2kmJmkuYygpLG89Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxyPSEwfSxwKGUsdCl7MDxlWzBdLmlhYlRhZ3M/Lmxlbmd0aD9pPyhpLnAoZSx0KSwxJnRbMF0mJmhlKGksMSkpOigoaT15YShlKSkuYygpLGhlKGksMSksaS5tKG8ucGFyZW50Tm9kZSxvKSk6aSYmKGllKCksYmUoaSwxLDEsKCk9PntpPW51bGx9KSxuZSgpKX0saShlKXtyfHwoaGUoaSkscj0hMCl9LG8oZSl7YmUoaSkscj0hMX0sZChlKXtpJiZpLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBTYShlLHQsbyl7bGV0IHI9dC5jb25maWcse3JlcXVpcmVkOmk9ITF9PXQsbj10LnN0eWxlcyxhPSRvKCkscz0ocj8uZGlzY2xhaW1lck9wdGlvbnM/LnVuY2hlY2tUYWdzLCgpPT5PYmplY3QudmFsdWVzKHIuaWFiQ2F0ZWdvcmllcykucmVkdWNlKChlLHQpPT5lK09iamVjdC52YWx1ZXModCkucmVkdWNlKChlLHQpPT50LmFjY2VwdD9lKzE6ZSwwKSwwKSksbD0oci5pYWJUYWdzLnJlZHVjZSgoZSx0KT0+dC5hY2NlcHQ/ZSsxOmUsMCkscygpKSxjPShlLHQpPT57YSgidG9nZ2xlZCIsdCksbygwLHIuaWFiQ2F0ZWdvcmllc1tlXVt0XS5hY2NlcHQ9IXIuaWFiQ2F0ZWdvcmllc1tlXVt0XS5hY2NlcHQsciksbygyLGw9cygpKX0sZD0oZSx0KT0+e2EoInRvZ2dsZWQiLHQpLG8oMCxyLmlhYkNhdGVnb3JpZXNbZV1bdF0ubGVnSW50PSFyLmlhYkNhdGVnb3JpZXNbZV1bdF0ubGVnSW50LHIpLG8oMixsPXMoKSl9O3ZhcntjYXRlZ29yeTp0LGNhdGVnb3J5VGl0bGU6cCxjYXRlZ29yeURlc2NyaXB0aW9uOnUsY2F0ZWdvcnlUYWc6ZyxjYXRlZ29yeVRhZ1RvZ2dsZUNvbnRhaW5lcjptLGNhdGVnb3J5VGFnVXBwZXJTZWN0aW9uOmYsY2F0ZWdvcnlTZWxlY3Rvckljb246aCxjYXRlZ29yeVNlbGVjdG9ySWNvbkNvbnRhaW5lcjpiLGNhdGVnb3J5VGFnTGluazp4fT0oKGUsdCk9Pnt2YXIgbz1lLmNvbG9ycyx7c3R5bGVzOmUsaGFzSW1wb3J0YW50OnJ9PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczppLGhhc0ltcG9ydGFudDpuLGNvbG9yczphfT10O2xldCBzPXZvaWQgMD09PW58fG4/dm9pZCAwPT09cnx8cj8iIWltcG9ydGFudCI6IiI6IiI7dmFyIG49IiFpbXBvcnRhbnQiPT09cz8idW5zZXQgIWltcG9ydGFudCI6IiIscj1CKHthbGw6bixkaXNwbGF5OiJmbGV4ICIrcyxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxtYXJnaW46IjVweCAwICIrcyxmbGV4V3JhcDoid3JhcCAiK3MscGFkZGluZ1JpZ2h0OiIxMHB4ICIrcyx2YXJpYW50czp7cmVxdWlyZWQ6e3RydWU6e29wYWNpdHk6IjAuNzUgIitzfX19LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnksLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5jYXRlZ29yeX19KSxsPUIoe2FsbDpuLGZsZXhHcm93OiIxICIrcyxmb250V2VpZ2h0OiJib2xkICIrcyxjdXJzb3I6InBvaW50ZXIgIitzLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGl0bGUsLi4uaT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGEpKyIgIitzLC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGl0bGUsLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZX19KSxjPUIoe2FsbDpuLGZvbnRTaXplOiIkc21hbGxUZXh0ICIrcyx3aWR0aDoiMTAwJSAiK3MsZGlzcGxheToiYmxvY2sgIitzLHBhZGRpbmdSaWdodDoiMTBweCAiK3MsbGluZUhlaWdodDoiMTJweCAiK3MsbWFyZ2luQm90dG9tOiIxMHB4ICIrcyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb24sIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLC4uLmk/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uZGVzY3JpcHRpb259fSksZD1CKHthbGw6bixtYXJnaW5Cb3R0b206IjVweCAiK3MsYm9yZGVyUmFkaXVzOiI4cHggIitzLHdpZHRoOiIxMDAlICIrcyxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSsiICIrcyxib3JkZXI6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGEpLC4xKX0gYCtzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sYSkrIiAiK3MsYm9yZGVyOmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxhKSwuMSl9IGArcywuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZywuLi5pPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ319KSxuPShCKHthbGw6bixkaXNwbGF5OiJmbGV4ICIrcyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitzLC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLmk/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb24sLi4uaT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZVNlY3Rpb259fSksQih7aGVpZ2h0OiIxOHB4ICIrcyx3aWR0aDoiNDBweCAiK3MsYm9yZGVyUmFkaXVzOiI4cHggIitzLGRpc3BsYXk6ImZsZXggIitzLGFsaWduSXRlbXM6ImNlbnRlciAiK3MsY3Vyc29yOiJwb2ludGVyICIrcyxvcGFjaXR5OiIwLjUgIitzLGJhY2tncm91bmRDb2xvcjoiIzMzMyAiK3MsdmFyaWFudHM6e2FjdGl2ZTp7dHJ1ZTp7anVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kICIrcyxvcGFjaXR5OiIxICIrcyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3MsIkBtb2JpbGUiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9fX19LCJAbW9iaWxlIjp7IiYgZGl2Ijp7YmFja2dyb3VuZENvbG9yOkQoTy5tb2JpbGUsUi5iZ0NvbG9yLHQsbyxhKSsiICIrc319fSkpO3JldHVybntjYXRlZ29yeTpyLGNhdGVnb3J5VGl0bGU6bCxjYXRlZ29yeURlc2NyaXB0aW9uOmMsY2F0ZWdvcnlUYWc6ZCxjYXRlZ29yeVNlbGVjdG9ySWNvbjpCKHt3aWR0aDoiMTVweCAiK3MsaGVpZ2h0OiIxNXB4ICIrcyxib3JkZXJSYWRpdXM6IjUwJSAiK3MsZGlzcGxheToiZmxleCAiK3MsYWxpZ25JdGVtczoiY2VudGVyICIrcyxqdXN0aWZ5Q29udGVudDoiY2VudGVyICIrcyxtYXJnaW46IjJweCAiK3MsYmFja2dyb3VuZENvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxhKSsiICIrcywiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSx2YXJpYW50czp7YWN0aXZlOnt0cnVlOnsiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sYSkrIiAiK3N9fX19fSwiQG1vYmlsZSI6e2JhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sYSkrIiAiK3MsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxhKSsiICIrc319fSksY2F0ZWdvcnlTZWxlY3Rvckljb25Db250YWluZXI6bixjYXRlZ29yeVRhZ1VwcGVyU2VjdGlvbjpCKHtwYWRkaW5nOiI4cHggMTBweCAiK3MsYm9yZGVyQm90dG9tOmAxcHggc29saWQgJHtRdChEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxhKSwuMSl9IGArc30pLGNhdGVnb3J5VGFnVG9nZ2xlQ29udGFpbmVyOkIoe2N1cnNvcjoicG9pbnRlciAiK3MsZGlzcGxheToiZmxleCAiK3MsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitzLHBhZGRpbmc6IjhweCAxMHB4ICIrc30pLGNhdGVnb3J5VGFnTGluazpCKHtjdXJzb3I6InBvaW50ZXIgIitzLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitzLGNvbG9yOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGEpKyIgIitzfSl9fSkocixuKSx5PU9iamVjdC52YWx1ZXMoci5pYWJDYXRlZ29yaWVzKS5yZWR1Y2UoKGUsdCk9PmUuY29uY2F0KE9iamVjdC52YWx1ZXModCkucmVkdWNlKChlLHQpPT5lLmNvbmNhdCh0KSxbXSkpLFtdKTtyZXR1cm4gZS4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAscj1lLmNvbmZpZyksInJlcXVpcmVkImluIGUmJm8oMSxpPWUucmVxdWlyZWQpLCJzdHlsZXMiaW4gZSYmbygxNixuPWUuc3R5bGVzKX0sW3IsaSxsLGEsYyxkLHQscCx1LGcsbSxmLGgsYix4LHksbixlPT57bGV0IHQ9W107MDxlPy5pbGx1c3RyYXRpb25zPy5sZW5ndGgmJih0LnB1c2goe3R5cGU6IlNNQUxMX1RJVExFIixjb250ZW50OlZpPy5bci5sYW5ndWFnZV0/LmlsbHVzdHJhdGlvbnN9KSxlPy5pbGx1c3RyYXRpb25zLmZvckVhY2goZT0+e3QucHVzaCh7dHlwZToiTElTVCIsY29udGVudDplfSl9KSksYSgiaGFuZGxlT3Blbk1vZGFsIix7dGl0bGU6ZS5uYW1lKyI6Iixjb250ZW50RGF0YTpbe3R5cGU6IlBBUkFHUkFQSCIsY29udGVudDplLmRlc2NyaXB0aW9ufSwuLi50XX0pfSwoZSx0KT0+YyhlLHQuaWQpLChlLHQpPT5kKGUsdC5pZCldfWNsYXNzIFRhIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLFNhLElhLHIse2NvbmZpZzowLHJlcXVpcmVkOjEsc3R5bGVzOjE2fSxudWxsLFstMSwtMV0pfX1mdW5jdGlvbiBMYShvKXtsZXQgcixpLG49b1swXS50ZXh0cz8udGFicz8uY29va2llcysiIixhLHMsbCxjLGQscCx1PW9bMjRdJiYobz0+e2xldCByLGk9b1swXS50ZXh0cz8udGFicz8ucHVycG9zZXMrIiIsbixhLHMsbDtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLG49cGUoaSksbWUociwicm9sZSIsImJ1dHRvbiIpLG1lKHIsInRhYmluZGV4IiwiMCIpLG1lKHIsImNsYXNzIixhPW9bMjFdKHthY3RpdmU6b1szXT09PU4uQ2F0ZWdvcmllc30pKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLHN8fChsPVtnZShyLCJjbGljayIsb1syOF0pLGdlKHIsImtleWRvd24iLG9bMjldKV0scz0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdLnRleHRzPy50YWJzPy5wdXJwb3NlcysiIikmJmZlKG4saSksOCZ0WzBdJiZhIT09KGE9ZVsyMV0oe2FjdGl2ZTplWzNdPT09Ti5DYXRlZ29yaWVzfSkpJiZtZShyLCJjbGFzcyIsYSl9LGQoZSl7ZSYmY2Uocikscz0hMSxybyhsKX19fSkobyksZz1vWzI1XSYmKG89PntsZXQgcixpPW9bMF0udGV4dHM/LnRhYnM/LnZlbmRvcnMrIiIsbixhLHMsbDtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLG49cGUoaSksbWUociwicm9sZSIsImJ1dHRvbiIpLG1lKHIsInRhYmluZGV4IiwiMCIpLG1lKHIsImNsYXNzIixhPW9bMjFdKHthY3RpdmU6b1szXT09PU4uVmVuZG9yc30pKX0sbShlLHQpe2xlKGUscix0KSxzZShyLG4pLHN8fChsPVtnZShyLCJjbGljayIsb1szMF0pLGdlKHIsImtleWRvd24iLG9bMzFdKV0scz0hMCl9LHAoZSx0KXsxJnRbMF0mJmkhPT0oaT1lWzBdLnRleHRzPy50YWJzPy52ZW5kb3JzKyIiKSYmZmUobixpKSw4JnRbMF0mJmEhPT0oYT1lWzIxXSh7YWN0aXZlOmVbM109PT1OLlZlbmRvcnN9KSkmJm1lKHIsImNsYXNzIixhKX0sZChlKXtlJiZjZShyKSxzPSExLHJvKGwpfX19KShvKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLGE9cGUobiksbD11ZSgpLHUmJnUuYygpLGM9dWUoKSxnJiZnLmMoKSxtZShpLCJyb2xlIiwiYnV0dG9uIiksbWUoaSwidGFiaW5kZXgiLCIwIiksbWUoaSwiY2xhc3MiLHM9b1syMV0oe2FjdGl2ZTpvWzNdPT09Ti5Db29raWVzfSkpLG1lKHIsImNsYXNzIixvWzIwXSgpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHNlKGksYSksc2UocixsKSx1JiZ1Lm0ocixudWxsKSxzZShyLGMpLGcmJmcubShyLG51bGwpLGR8fChwPVtnZShpLCJjbGljayIsb1syNl0pLGdlKGksImtleWRvd24iLG9bMjddKV0sZD0hMCl9LHAoZSx0KXsxJnRbMF0mJm4hPT0obj1lWzBdLnRleHRzPy50YWJzPy5jb29raWVzKyIiKSYmZmUoYSxuKSw4JnRbMF0mJnMhPT0ocz1lWzIxXSh7YWN0aXZlOmVbM109PT1OLkNvb2tpZXN9KSkmJm1lKGksImNsYXNzIixzKSxlWzI0XSYmdS5wKGUsdCksZVsyNV0mJmcucChlLHQpfSxkKGUpe2UmJmNlKHIpLHUmJnUuZCgpLGcmJmcuZCgpLGQ9ITEscm8ocCl9fX1mdW5jdGlvbiAkYShlKXtsZXQgcixvO3JldHVybihyPW5ldyBoYSh7cHJvcHM6e2NvbmZpZzplWzBdLHN0eWxlczplWzFdfX0pKS4kb24oInVwZGF0ZUlhYlRhZ3MiLGVbNV0pLHIuJG9uKCJoYW5kbGVPcGVuTW9kYWwiLGVbOF0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzEmdFswXSYmKG8uY29uZmlnPWVbMF0pLDImdFswXSYmKG8uc3R5bGVzPWVbMV0pLHIuJHNldChvKX0saShlKXtvfHwoaGUoci4kJC5mcmFnbWVudCxlKSxvPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLG89ITF9LGQoZSl7d2UocixlKX19fWZ1bmN0aW9uIEFhKGUpe2xldCByLG87cmV0dXJuKHI9bmV3IFRhKHtwcm9wczp7Y29uZmlnOmVbMF0sc3R5bGVzOmVbMV19fSkpLiRvbigiaGFuZGxlT3Blbk1vZGFsIixlWzhdKSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTsxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBFYShlKXtsZXQgcj1lWzBdPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXMoZVswXS5sZWdpc2xhdGlvbiksaSxuLG8sYSxzLGwsYyxkLHAsdSxnLG0sZixoLGIseCx5PVZpPy5bZVswXS5sYW5ndWFnZV0/LmNsZWFuQ29va2llKyIiLHcsQyx2LGs9ciYmUmEoZSk7cmV0dXJuKG49bmV3IGFhKHtwcm9wczp7Y29uZmlnOmVbMF0sc3R5bGVzOmVbMV0sdGFnQ2F0ZWdvcnlJZDoiMSIsY2F0TmFtZTplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucmVxdWlyZWQ/Lm5hbWUsY2F0RGVzYzplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucmVxdWlyZWQ/LmRlc2NyaXB0aW9uLHJlcXVpcmVkOiEwfX0pKS4kb24oInRvZ2dsZWQiLGVbNl0pLG4uJG9uKCJ0b2dnbGVkQ2F0IixlWzddKSwoYT1uZXcgYWEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXSx0YWdDYXRlZ29yeUlkOiIyIixjYXROYW1lOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/Lm5hbWUsY2F0RGVzYzplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubWFya2V0aW5nPy5kZXNjcmlwdGlvbn19KSkuJG9uKCJ0b2dnbGVkIixlWzZdKSxhLiRvbigidG9nZ2xlZENhdCIsZVs3XSksKGw9bmV3IGFhKHtwcm9wczp7Y29uZmlnOmVbMF0sc3R5bGVzOmVbMV0sdGFnQ2F0ZWdvcnlJZDoiNCIsY2F0TmFtZTplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/Lm5hbWUsY2F0RGVzYzplWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLGVbNl0pLGwuJG9uKCJ0b2dnbGVkQ2F0IixlWzddKSwoZD1uZXcgYWEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXSx0YWdDYXRlZ29yeUlkOiIzIixjYXROYW1lOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5zdGF0aXN0aWNzPy5uYW1lLGNhdERlc2M6ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLGVbNl0pLGQuJG9uKCJ0b2dnbGVkQ2F0IixlWzddKSwodT1uZXcgYWEoe3Byb3BzOntjb25maWc6ZVswXSxzdHlsZXM6ZVsxXSx0YWdDYXRlZ29yeUlkOiI1IixjYXROYW1lOmVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5mdW5jdGlvbmFsPy5uYW1lLGNhdERlc2M6ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLGVbNl0pLHUuJG9uKCJ0b2dnbGVkQ2F0IixlWzddKSxoPW5ldyBNbih7fSkse2MoKXtrJiZrLmMoKSxpPXVlKCkseGUobi4kJC5mcmFnbWVudCksbz11ZSgpLHhlKGEuJCQuZnJhZ21lbnQpLHM9dWUoKSx4ZShsLiQkLmZyYWdtZW50KSxjPXVlKCkseGUoZC4kJC5mcmFnbWVudCkscD11ZSgpLHhlKHUuJCQuZnJhZ21lbnQpLGc9dWUoKSxtPWRlKCJhIiksZj1kZSgiZGl2IikseGUoaC4kJC5mcmFnbWVudCksYj11ZSgpLHg9ZGUoImRpdiIpLHc9cGUoeSksbWUobSwiY2xhc3MiLGVbMTVdKCkpLG1lKG0sInRhYmluZGV4IiwiMCIpLG1lKG0sImhyZWYiLEM9ZVswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpfSxtKGUsdCl7ayYmay5tKGUsdCksbGUoZSxpLHQpLHllKG4sZSx0KSxsZShlLG8sdCkseWUoYSxlLHQpLGxlKGUscyx0KSx5ZShsLGUsdCksbGUoZSxjLHQpLHllKGQsZSx0KSxsZShlLHAsdCkseWUodSxlLHQpLGxlKGUsZyx0KSxsZShlLG0sdCksc2UobSxmKSx5ZShoLGYsbnVsbCksc2UobSxiKSxzZShtLHgpLHNlKHgsdyksdj0hMH0scChlLHQpeyhyPTEmdFswXT9lWzBdPy50Y2Y/LmVuYWJsZWQmJnRlW2VlLkV1cm9wZV0uaW5jbHVkZXMoZVswXS5sZWdpc2xhdGlvbik6cik/az9rLnAoZSx0KTooKGs9UmEoZSkpLmMoKSxrLm0oaS5wYXJlbnROb2RlLGkpKTprJiYoay5kKDEpLGs9bnVsbCk7dmFyIG89e30sbz0oMSZ0WzBdJiYoby5jb25maWc9ZVswXSksMiZ0WzBdJiYoby5zdHlsZXM9ZVsxXSksMSZ0WzBdJiYoby5jYXROYW1lPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8ubmFtZSksMSZ0WzBdJiYoby5jYXREZXNjPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uZGVzY3JpcHRpb24pLG4uJHNldChvKSx7fSksbz0oMSZ0WzBdJiYoby5jb25maWc9ZVswXSksMiZ0WzBdJiYoby5zdHlsZXM9ZVsxXSksMSZ0WzBdJiYoby5jYXROYW1lPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/Lm5hbWUpLDEmdFswXSYmKG8uY2F0RGVzYz1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubWFya2V0aW5nPy5kZXNjcmlwdGlvbiksYS4kc2V0KG8pLHt9KSxvPSgxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSwxJnRbMF0mJihvLmNhdE5hbWU9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnBlcmZvcm1hbmNlPy5uYW1lKSwxJnRbMF0mJihvLmNhdERlc2M9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnBlcmZvcm1hbmNlPy5kZXNjcmlwdGlvbiksbC4kc2V0KG8pLHt9KSxvPSgxJnRbMF0mJihvLmNvbmZpZz1lWzBdKSwyJnRbMF0mJihvLnN0eWxlcz1lWzFdKSwxJnRbMF0mJihvLmNhdE5hbWU9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/Lm5hbWUpLDEmdFswXSYmKG8uY2F0RGVzYz1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8uZGVzY3JpcHRpb24pLGQuJHNldChvKSx7fSk7MSZ0WzBdJiYoby5jb25maWc9ZVswXSksMiZ0WzBdJiYoby5zdHlsZXM9ZVsxXSksMSZ0WzBdJiYoby5jYXROYW1lPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5mdW5jdGlvbmFsPy5uYW1lKSwxJnRbMF0mJihvLmNhdERlc2M9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/LmRlc2NyaXB0aW9uKSx1LiRzZXQobyksKCF2fHwxJnRbMF0pJiZ5IT09KHk9Vmk/LltlWzBdLmxhbmd1YWdlXT8uY2xlYW5Db29raWUrIiIpJiZmZSh3LHkpLCghdnx8MSZ0WzBdJiZDIT09KEM9ZVswXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpKSYmbWUobSwiaHJlZiIsQyl9LGkoZSl7dnx8KGhlKG4uJCQuZnJhZ21lbnQsZSksaGUoYS4kJC5mcmFnbWVudCxlKSxoZShsLiQkLmZyYWdtZW50LGUpLGhlKGQuJCQuZnJhZ21lbnQsZSksaGUodS4kJC5mcmFnbWVudCxlKSxoZShoLiQkLmZyYWdtZW50LGUpLHY9ITApfSxvKGUpe2JlKG4uJCQuZnJhZ21lbnQsZSksYmUoYS4kJC5mcmFnbWVudCxlKSxiZShsLiQkLmZyYWdtZW50LGUpLGJlKGQuJCQuZnJhZ21lbnQsZSksYmUodS4kJC5mcmFnbWVudCxlKSxiZShoLiQkLmZyYWdtZW50LGUpLHY9ITF9LGQoZSl7ayYmay5kKGUpLGUmJmNlKGkpLHdlKG4sZSksZSYmY2Uobyksd2UoYSxlKSxlJiZjZShzKSx3ZShsLGUpLGUmJmNlKGMpLHdlKGQsZSksZSYmY2UocCksd2UodSxlKSxlJiZjZShnKSxlJiZjZShtKSx3ZShoKX19fWZ1bmN0aW9uIFJhKGUpe2xldCBvLHIsaT1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8ubmFtZSYmT2EoZSksbj1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8uZGVzY3JpcHRpb24mJkRhKGUpO3JldHVybntjKCl7aSYmaS5jKCksbz11ZSgpLG4mJm4uYygpLHI9Zm8oKX0sbShlLHQpe2kmJmkubShlLHQpLGxlKGUsbyx0KSxuJiZuLm0oZSx0KSxsZShlLHIsdCl9LHAoZSx0KXtlWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8ubmFtZT9pP2kucChlLHQpOigoaT1PYShlKSkuYygpLGkubShvLnBhcmVudE5vZGUsbykpOmkmJihpLmQoMSksaT1udWxsKSxlWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8uZGVzY3JpcHRpb24/bj9uLnAoZSx0KTooKG49RGEoZSkpLmMoKSxuLm0oci5wYXJlbnROb2RlLHIpKTpuJiYobi5kKDEpLG49bnVsbCl9LGQoZSl7aSYmaS5kKGUpLGUmJmNlKG8pLG4mJm4uZChlKSxlJiZjZShyKX19fWZ1bmN0aW9uIE9hKGUpe2xldCBvLHI9ZVswXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm5vblRjZkNhdGVnb3JpZXM/Lm5hbWUrIiIsaTtyZXR1cm57Yygpe289ZGUoImRpdiIpLGk9cGUociksbWUobywiY2xhc3MiLGVbMjJdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSl9LHAoZSx0KXsxJnRbMF0mJnIhPT0ocj1lWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ubm9uVGNmQ2F0ZWdvcmllcz8ubmFtZSsiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBEYShlKXtsZXQgbyxyPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5kZXNjcmlwdGlvbisiIixpO3JldHVybntjKCl7bz1kZSgiZGl2IiksaT1wZShyKSxtZShvLCJjbGFzcyIsZVsyM10oKSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezEmdFswXSYmciE9PShyPWVbMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5ub25UY2ZDYXRlZ29yaWVzPy5kZXNjcmlwdGlvbisiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBCYShlKXtsZXQgbyxyPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmFkb3B0VGV4dCsiIixpLG4sYSxzLGw7cmV0dXJue2MoKXtvPWRlKCJzbWFsbCIpLGk9cGUociksbj11ZSgpLGE9ZGUoImEiKSxzPXBlKCJBZE9wdCIpLG1lKGEsImhyZWYiLGw9WHQoZVswXSwiY3VzdG9taXplIikpLG1lKGEsInJlbCIsIm5vb3BlbmVyIiksbWUoYSwidGFyZ2V0IiwiX2JsYW5rIiksbWUoYSwidGFiaW5kZXgiLCIwIiksbWUobywiY2xhc3MiLGVbMTZdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSksc2UobyxuKSxzZShvLGEpLHNlKGEscyl9LHAoZSx0KXsxJnRbMF0mJnIhPT0ocj1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5hZG9wdFRleHQrIiIpJiZmZShpLHIpLDEmdFswXSYmbCE9PShsPVh0KGVbMF0sImN1c3RvbWl6ZSIpKSYmbWUoYSwiaHJlZiIsbCl9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBQYShyKXtsZXQgaSxvLG49clswXT8udGV4dHM/LnRpdGxlcz8ucHJlZmVyZW5jZSsiIixhLHMsbCxjLGQscCx1LGcsbSxmLGgsYix4LHksdyxDLHYsayxJPXJbMF0/LnRleHRzPy5idXR0b25zPy5yZWplY3RBbGwrIiIsUyxULEwsJD1yWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0Q3VzdG9tKyIiLEEsdCxFLFIsTyxEPShyWzI0XXx8clsyNV0pJiZMYShyKSxCPSh1PW5ldyBwbih7cHJvcHM6e3dpZHRoOiI4cHgifX0pLFtFYSxBYSwkYV0pLFA9W107ZnVuY3Rpb24gaihlKXtyZXR1cm4gZVszXT09PU4uQ29va2llcz8wOmVbM109PT1OLkNhdGVnb3JpZXM/MToyfWY9aihyKSxoPVBbZl09QltmXShyKTtsZXQgXz0hMSE9PXJbMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHkmJkJhKHIpO3JldHVybntjKCl7aT1kZSgiZGl2Iiksbz1kZSgiaDMiKSxhPXBlKG4pLHM9dWUoKSxEJiZELmMoKSxsPXVlKCksYz1kZSgiYnIiKSxkPXVlKCkscD1kZSgiYnV0dG9uIikseGUodS4kJC5mcmFnbWVudCksZz11ZSgpLG09ZGUoImRpdiIpLGguYygpLGI9dWUoKSx4PWRlKCJiciIpLHk9dWUoKSx3PWRlKCJkaXYiKSxfJiZfLmMoKSxDPXVlKCksdj1kZSgiZGl2Iiksaz1kZSgiYnV0dG9uIiksUz1wZShJKSxUPXVlKCksTD1kZSgiYnV0dG9uIiksQT1wZSgkKSxtZShvLCJjbGFzcyIsclsxMV0oKSksbWUobywiaWQiLCJwcmVmZXJlbmNlLWJhbm5lci10aXRsZSIpLG1lKHAsImNsYXNzIixyWzEyXSgpKSxtZShtLCJjbGFzcyIsclsxM10oKSksbWUobSwiaWQiLCJwcmVmZXJlbmNlLWJhbm5lci1jb250ZW50IiksbWUoaywiY2xhc3MiLHJbMThdKCkpLG1lKEwsImNsYXNzIixyWzE5XSgpKSxtZSh2LCJjbGFzcyIsclsxN10oKSksbWUodywiY2xhc3MiLHJbMTRdKCkpLG1lKGksImlkIiwicHJlZmVyZW5jZS1iYW5uZXIiKSxtZShpLCJyb2xlIiwiZGlhbG9nIiksbWUoaSwiYXJpYS1tb2RhbCIsInRydWUiKSxtZShpLCJhcmlhLWxhYmVsbGVkYnkiLCJwcmVmZXJlbmNlLWJhbm5lci10aXRsZSIpLG1lKGksImFyaWEtZGVzY3JpYmVkYnkiLCJwcmVmZXJlbmNlLWJhbm5lci1jb250ZW50IiksbWUoaSwiYXJpYS1oaWRkZW4iLHJbMl0pLG1lKGksInRhYmluZGV4IiwtMSksbWUoaSwiY2xhc3MiLHJbMTBdKCkpfSxtKGUsdCl7bGUoZSxpLHQpLHNlKGksbyksc2UobyxhKSxzZShpLHMpLEQmJkQubShpLG51bGwpLHNlKGksbCksc2UoaSxjKSxzZShpLGQpLHNlKGkscCkseWUodSxwLG51bGwpLHNlKGksZyksc2UoaSxtKSxQW2ZdLm0obSxudWxsKSxzZShpLGIpLHNlKGkseCksc2UoaSx5KSxzZShpLHcpLF8mJl8ubSh3LG51bGwpLHNlKHcsQyksc2Uodyx2KSxzZSh2LGspLHNlKGssUyksc2UodixUKSxzZSh2LEwpLHNlKEwsQSksRT0hMCxSfHwoTz1bZ2UocCwiY2xpY2siLHJbMzJdKSxnZShrLCJjbGljayIsclszM10pLGdlKEwsImNsaWNrIixyWzldKSxnZShpLCJjbGljayIsaG8oamEpKV0sUj0hMCl9LHAoZSx0KXtyPWUsKCFFfHwxJnRbMF0pJiZuIT09KG49clswXT8udGV4dHM/LnRpdGxlcz8ucHJlZmVyZW5jZSsiIikmJmZlKGEsbiksKHJbMjRdfHxyWzI1XSkmJkQucChyLHQpO2xldCBvPWY7KGY9aihyKSk9PT1vP1BbZl0ucChyLHQpOihpZSgpLGJlKFBbb10sMSwxLCgpPT57UFtvXT1udWxsfSksbmUoKSwoaD1QW2ZdKT9oLnAocix0KTooaD1QW2ZdPUJbZl0ocikpLmMoKSxoZShoLDEpLGgubShtLG51bGwpKSwhMSE9PXJbMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHk/Xz9fLnAocix0KTooKF89QmEocikpLmMoKSxfLm0odyxDKSk6XyYmKF8uZCgxKSxfPW51bGwpLCghRXx8MSZ0WzBdKSYmSSE9PShJPXJbMF0/LnRleHRzPy5idXR0b25zPy5yZWplY3RBbGwrIiIpJiZmZShTLEkpLCghRXx8MSZ0WzBdKSYmJCE9PSgkPXJbMF0/LnRleHRzPy5idXR0b25zPy5hY2NlcHRDdXN0b20rIiIpJiZmZShBLCQpLCghRXx8NCZ0WzBdKSYmbWUoaSwiYXJpYS1oaWRkZW4iLHJbMl0pfSxpKGUpe0V8fChoZSh1LiQkLmZyYWdtZW50LGUpLGhlKGgpLGpvKCgpPT57RSYmKHQ9dHx8R28oaSxycix7ZHVyYXRpb246ITEhPT1yWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MTUwOjB9LCEwKSkucnVuKDEpfSksRT0hMCl9LG8oZSl7YmUodS4kJC5mcmFnbWVudCxlKSxiZShoKSwodD10fHxHbyhpLHJyLHtkdXJhdGlvbjohMSE9PXJbMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITEpKS5ydW4oMCksRT0hMX0sZChlKXtlJiZjZShpKSxEJiZELmQoKSx3ZSh1KSxQW2ZdLmQoKSxfJiZfLmQoKSxlJiZ0JiZ0LmVuZCgpLFI9ITEscm8oTyl9fX1mdW5jdGlvbiBfYShlLHQpeyJFbnRlciIhPT1lLmtleSYmIiAiIT09ZS5rZXl8fChlLnByZXZlbnREZWZhdWx0KCksdCgpKX1sZXQgamE9KCk9Pnt9O2Z1bmN0aW9uIE5hKGUsdCxyKXtsZXQgaT10LmNvbmZpZyxvPXQuc3R5bGVzLG49dC5pc01vZGFsSW5mb09wZW4sYT1OLkNvb2tpZXMscyxsLGMsZD1lPT57IlRhYiI9PT1lLmtleSYmKGUuc2hpZnRLZXk/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXMmJihlLnByZXZlbnREZWZhdWx0KCksbC5mb2N1cygpKTpkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09bCYmKGUucHJldmVudERlZmF1bHQoKSxzLmZvY3VzKCkpKX07bGV0IHA9JG8oKTt2YXJ7cHJlZmVyZW5jZUNhcmRQYW5lbDp0LHByZWZlcmVuY2VDYXJkVGl0bGU6dSxwcmVmZXJlbmNlQ2FyZENsb3NlUGFuZWw6ZyxwcmVmZXJlbmNlQ2FyZFRhZ0NhdGVnb3JpZXM6bSxwcmVmZXJlbmNlQ2FyZEZvb3RlcjpmLGFsdGVybmF0aXZlQ2xlYW5DYWNoZUxpbms6aCxwcmVmZXJlbmNlQ2FyZFNtYWxsVGV4dEZvb3RlcjpiLHByZWZlcmVuY2VDYXJkQnV0dG9uc0NvbnRhaW5lcjp4LHByZWZlcmVuY2VDYXJkUmVqZWN0QnV0dG9uOnkscHJlZmVyZW5jZUNhcmRBY2NlcHRCdXR0b246dyxwcmVmZXJlbmNlQ2FyZFRhYnNXcmFwcGVyOkMscHJlZmVyZW5jZUNhcmRUYWJzSXRlbTp2LHByZWZlcmVuY2VDYXRlZ29yeVRpdGxlOmsscHJlZmVyZW5jZUNhdGVnb3J5RGVzY3JpcHRpb246SX09KChlLHQpPT57dmFye2NvbG9yczpvLHBvc2l0aW9uOnIsZGlzY2xhaW1lck9wdGlvbnM6aX09ZSx7c3R5bGVzOmUsaGFzSW1wb3J0YW50Om59PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczphLGhhc0ltcG9ydGFudDpzLGNvbG9yczpsfT10O2xldCBjPXZvaWQgMD09PXN8fHM/dm9pZCAwPT09bnx8bj8iIWltcG9ydGFudCI6IiI6IiI7dmFyIHM9aT8uYWNjZXNzaWJpbGl0eSxuPWk/LmRpc2NsYWltZXJDYXJkU2hhZG93LGk9IiFpbXBvcnRhbnQiPT09Yz8idW5zZXQgIWltcG9ydGFudCI6IiIsZD17cmlnaHQ6e3JpZ2h0OiI3NXB4ICIrYyxsZWZ0OiJhdXRvICIrY30sY2VudGVyOnttYXJnaW5MZWZ0OiJhdXRvICIrYyxtYXJnaW5SaWdodDoiYXV0byAiK2MsbGVmdDoiMCAiK2MscmlnaHQ6IjAgIitjLHBvc2l0aW9uOiJmaXhlZCAiK2MsZmxleFdyYXA6IndyYXAgIitjfX0sbj1CKHtmb250U2l6ZToiJHRleHQgIitjLHBvc2l0aW9uOiJmaXhlZCAiK2MsYm90dG9tOiI3NXB4ICIrYyxsZWZ0OiI3NXB4ICIrYyx3aWR0aDoiMzAwcHggIitjLGJvcmRlclJhZGl1czoiMTVweCAiK2MsYm94U2l6aW5nOiJib3JkZXItYm94ICIrYyxwYWRkaW5nOiIyMHB4ICIrYyxkaXNwbGF5OiJmbGV4ICIrYyxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitjLHpJbmRleDoiOTk5OTk5OTk5MiAiK2MsdXNlclNlbGVjdDoibm9uZSAiK2MsZm9udEZhbWlseToiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiAiK2MsYm94U2hhZG93Om4/IjAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSAiK2M6Im5vbmUgIitjLGJhY2tncm91bmQ6RChPLndlYixSLmJnQ29sb3IsdCxvLGwpKyIgIitjLCImIGRpdiI6eyImOjotd2Via2l0LXNjcm9sbGJhciI6e3dpZHRoOiI4cHggIitjLGJvcmRlclJhZGl1czoiNXB4ICIrY30sIiY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIjp7Ym94U2hhZG93OiJpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSAiK2MsYm9yZGVyUmFkaXVzOiI1cHggIitjfSwiJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIiOntiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMCwgMCwgMCwgMC4yKSAiK2MsYm9yZGVyUmFkaXVzOiI1cHggIitjfX0sLi4uZFtyPy5jb250cm9sbGVyXSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbCwuLi5hPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbCwiQG1vYmlsZSI6e2JhY2tncm91bmQ6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGwpKyIgIitjLC4uLmQuY2VudGVyLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsfX0pLHI9Qih7YWxsOmksZm9udFNpemU6IiR0aXRsZSAiK2MsZm9udFdlaWdodDoiNzAwICIrYyxsaW5lSGVpZ2h0OiIxLjVlbSAiK2MsdGV4dEFsaWduOiJjZW50ZXIgIitjLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGUsLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGV9fSksZD1CKHthbGw6aSxib3JkZXI6Im5vbmUgIitjLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2MscG9zaXRpb246ImFic29sdXRlICIrYyx0b3A6IjIwcHggIitjLHJpZ2h0OiIyMHB4ICIrYyx3aWR0aDoiMjBweCAiK2MsaGVpZ2h0OiIyMHB4ICIrYyxib3JkZXJSYWRpdXM6IjUwJSAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxkaXNwbGF5OiJmbGV4ICIrYyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitjLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYywiJjpmb2N1cy12aXNpYmxlIjpzJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitjLG91dGxpbmVPZmZzZXQ6IjNweCAiK2N9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLmJnQ29sb3IsdCxvLGwpKyIgIitjfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5jbG9zZVBhbmVsLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmNsb3NlUGFuZWwsIkBtb2JpbGUiOntiYWNrZ3JvdW5kQ29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIuYmdDb2xvcix0LG8sbCkrIiAiK2N9LC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmNsb3NlUGFuZWwsLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbH19KSxwPUIoe2FsbDppLGhlaWdodDoiMjgwcHggIitjLGZsZXhHcm93OiIxICIrYyxvdmVyZmxvd1k6ImF1dG8gIitjLHRleHRBbGlnbjoibGVmdCAiK2MsZmxleERpcmVjdGlvbjoiY29sdW1uICIrYywuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXMsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXN9fSksdT1CKHthbGw6aSxtYXJnaW46IjIwcHggMCA1cHggMCAiK2MsdGV4dERlY29yYXRpb246Im5vbmUgIitjLGN1cnNvcjoicG9pbnRlciAiK2MsZGlzcGxheToibm9uZSAiK2MsZ2FwOiIycHggIitjLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2N9LCImIGRpdjpsYXN0LWNoaWxkIjp7bWFyZ2luTGVmdDoiNHB4ICIrY30sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYWx0ZXJuYXRpdmVUYWdDbGVhbkNhY2hlTGluaywuLi5hPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYWx0ZXJuYXRpdmVUYWdDbGVhbkNhY2hlTGluaywuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rfX0pLGc9Qih7YWxsOmksdGV4dEFsaWduOiJjZW50ZXIgIitjLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2MsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2FyZEZvb3RlciwuLi5hPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2FyZEZvb3RlciwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyfX0pLG09Qih7YWxsOmksZm9udFNpemU6IiRzbWFsbFRleHQgIitjLGNvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLCImIGEiOnthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitjLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpKyIgIitjLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY319LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwuLi5hPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5zbWFsbFRleHRGb290ZXIsIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSsiICIrYywiJiBhIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2N9LC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwuLi5hPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5zbWFsbFRleHRGb290ZXJ9fSksZj1CKHthbGw6aSxkaXNwbGF5OiJmbGV4ICIrYyxhbGlnbkl0ZW1zOiJjZW50ZXIgIitjLGdhcDoiMTBweCAiK2MsbWFyZ2luVG9wOiIxMHB4ICIrYywuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXIsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLmE/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXJ9fSksaD1CKHthbGw6aSxmb250V2VpZ2h0OiJib2xkICIrYyxiYWNrZ3JvdW5kOiJub25lICIrYyx3aWR0aDoiMTAwJSAiK2MscGFkZGluZzoiMTBweCAiK2MsYm9yZGVyUmFkaXVzOiIyMHB4ICIrYyxjdXJzb3I6InBvaW50ZXIgIitjLGxpbmVIZWlnaHQ6IjEgIitjLGxldHRlclNwYWNpbmc6IjAgIitjLGZvbnRTaXplOiIkdGV4dCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxsKX0gYCtjLCImOmZvY3VzLXZpc2libGUiOnMmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2Msb3V0bGluZU9mZnNldDoiM3B4ICIrY30sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9uLC4uLmE/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnJlamVjdEJ1dHRvbiwiJjo6YWZ0ZXIiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitjLHdpZHRoOiJhdXRvICIrYyxvcGFjaXR5OiIwICIrY30sIiY6OmJlZm9yZSI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiQG1vYmlsZSI6e2NvbG9yOkQoTy5tb2JpbGUsUi50ZXh0Q29sb3IsdCxvLGwpKyIgIitjLGJvcmRlcjpgMXB4IHNvbGlkICR7RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCl9IGArYywuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5yZWplY3RCdXR0b24sLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9ufX0pLGI9Qih7YWxsOmksd2lkdGg6IjEwMCUgIitjLGZvbnRXZWlnaHQ6ImJvbGQgIitjLHBhZGRpbmc6IjEwcHggIitjLGJvcmRlclJhZGl1czoiMjBweCAiK2MsY3Vyc29yOiJwb2ludGVyICIrYyxsaW5lSGVpZ2h0OiIxICIrYyxsZXR0ZXJTcGFjaW5nOiIwICIrYyxmb250U2l6ZToiJHRleHQgIitjLGNvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsbyxsKSsiICIrYyxiYWNrZ3JvdW5kQ29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsYm9yZGVyOmAxcHggc29saWQgJHtEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxsKX0gYCtjLGJveFNoYWRvdzpgMHB4IDEwcHggMjhweCAtMTJweCAke0QoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLGwpfSBgK2MsIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b24sLi4uYT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYWNjZXB0QnV0dG9uLCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2Msd2lkdGg6ImF1dG8gIitjLG9wYWNpdHk6IjAgIitjfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrYyx3aWR0aDoiYXV0byAiK2Msb3BhY2l0eToiMCAiK2N9LCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLmJnQ29sb3IsdCxvLGwpKyIgIitjLGJhY2tncm91bmRDb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxsKSsiICIrYyxib3JkZXI6YDFweCBzb2xpZCAke0QoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLGwpfSBgK2MsYm94U2hhZG93OmAwcHggMTBweCAyOHB4IC0xMnB4ICR7RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCl9IGArYywuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b24sLi4uYT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYWNjZXB0QnV0dG9ufX0pLHg9Qih7YWxsOmksZGlzcGxheToiZmxleCAiK2MsZ2FwOiIxMHB4ICIrYyxtYXJnaW5Ub3A6IjE1cHggIitjLHBhZGRpbmdCb3R0b206IjVweCAiK2MsYm9yZGVyQm90dG9tOmAxcHggc29saWQgJHtRdChEKE8ubW9iaWxlLFIudGV4dENvbG9yLHQsbyxsKSwuMSl9IGArY30pLHk9Qih7YWxsOmksZmxleEdyb3c6IjEgIitjLGZvbnRXZWlnaHQ6ImJvbGQgIitjLGN1cnNvcjoicG9pbnRlciAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5hPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5hPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlfX0pLGU9Qih7YWxsOmksZm9udFNpemU6IiRzbWFsbFRleHQgIitjLGRpc3BsYXk6ImJsb2NrICIrYyxwYWRkaW5nUmlnaHQ6IjEwcHggIitjLGxpbmVIZWlnaHQ6IjEycHggIitjLG1hcmdpbkJvdHRvbToiMTBweCAiK2MsY29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5hPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8sbCkrIiAiK2MsLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5hPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9ufX0pO3JldHVybntwcmVmZXJlbmNlQ2FyZFBhbmVsOm4scHJlZmVyZW5jZUNhcmRUaXRsZTpyLHByZWZlcmVuY2VDYXJkQ2xvc2VQYW5lbDpkLHByZWZlcmVuY2VDYXJkVGFnQ2F0ZWdvcmllczpwLHByZWZlcmVuY2VDYXJkRm9vdGVyOmcsYWx0ZXJuYXRpdmVDbGVhbkNhY2hlTGluazp1LHByZWZlcmVuY2VDYXJkU21hbGxUZXh0Rm9vdGVyOm0scHJlZmVyZW5jZUNhcmRCdXR0b25zQ29udGFpbmVyOmYscHJlZmVyZW5jZUNhcmRSZWplY3RCdXR0b246aCxwcmVmZXJlbmNlQ2FyZEFjY2VwdEJ1dHRvbjpiLHByZWZlcmVuY2VDYXJkVGFic1dyYXBwZXI6eCxwcmVmZXJlbmNlQ2FyZFRhYnNJdGVtOkIoe2FsbDppLGN1cnNvcjoicG9pbnRlciAiK2MsdmFyaWFudHM6e2FjdGl2ZTp7dHJ1ZTp7Y29sb3I6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2MsIiY6OmJlZm9yZSI6e2NvbnRlbnQ6IiIsZGlzcGxheToiYmxvY2siLGhlaWdodDoiMnB4ICIrYyx3aWR0aDoiMTAwJSAiK2MscG9zaXRpb246InJlbGF0aXZlICIrYyx0b3A6IjIwcHggIitjLGJhY2tncm91bmQ6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8sbCkrIiAiK2N9fSxmYWxzZTp7Y29sb3I6RChPLndlYixSLnRleHRDb2xvcix0LG8sbCkrIiAiK2N9fX0sIiY6Zm9jdXMtdmlzaWJsZSI6cyYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrYyxvdXRsaW5lT2Zmc2V0OiIzcHggIitjfX0pLHByZWZlcmVuY2VDYXRlZ29yeVRpdGxlOnkscHJlZmVyZW5jZUNhdGVnb3J5RGVzY3JpcHRpb246ZX19KShpLG8pLFM9aT8uaWFiQ2F0ZWdvcmllcyYmKDA8T2JqZWN0LmtleXMoaT8uaWFiQ2F0ZWdvcmllcz8uZmVhdHVyZXNJblVzZSkubGVuZ3RofHwwPE9iamVjdC5rZXlzKGk/LmlhYkNhdGVnb3JpZXM/LnNwZWNpYWxGZWF0dXJlc0luVXNlKS5sZW5ndGh8fDA8T2JqZWN0LmtleXMoaT8uaWFiQ2F0ZWdvcmllcz8ucHVycG9zZXNJblVzZSkubGVuZ3RofHwwPE9iamVjdC5rZXlzKGk/LmlhYkNhdGVnb3JpZXM/LnNwZWNpYWxQdXJwb3Nlc0luVXNlKS5sZW5ndGgpLFQ9MDxpPy5pYWJUYWdzPy5sZW5ndGg7ZnVuY3Rpb24gTChlKXsiRXNjYXBlIj09PWUua2V5JiYicHJlZmVyZW5jZXMiPT09TS5QcmVmZXJlbmNlcyYmcCgiZ28iLHtzdGF0dXM6TS5DYXJkfSl9VG8oKCk9Pnt2YXIgZTtpPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVmZXJlbmNlLWJhbm5lciIpLmZvY3VzKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEwpLGU9InByZWZlcmVuY2UtYmFubmVyIixlPShjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKSxzPWVbMF0sbD1lW2UubGVuZ3RoLTFdLGMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZCkpfSksTG8oKCk9PntpPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmKGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEwpKX0pO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJnIoMCxpPWUuY29uZmlnKSwic3R5bGVzImluIGUmJnIoMSxvPWUuc3R5bGVzKSwiaXNNb2RhbEluZm9PcGVuImluIGUmJnIoMixuPWUuaXNNb2RhbEluZm9PcGVuKX0sW2ksbyxuLGEscCxhc3luYyBlPT57cCgidXBkYXRlSWFiVGFncyIsZS5kZXRhaWwpfSxhc3luYyB0PT57dmFyIGU9aS50YWdzLmZpbmQoZT0+ZS5pZD09PXQuZGV0YWlsKSxlPShpLnRhZ3MuZmluZChlPT5lLmlkPT09dC5kZXRhaWwpLmFjY2VwdD0hZS5hY2NlcHQsaSk7cigwLGk9ey4uLmV9KX0sYXN5bmMgbz0+e28uZGV0YWlsLnRhZ3MuZm9yRWFjaCh0PT57aS50YWdzLmZpbmQoZT0+ZS5pZD09PXQpLmFjY2VwdD1vLmRldGFpbC5zdGF0ZX0pLGkudGFncy5tYXAoZT0+ZS5pZD09PW8uZGV0YWlsKTt2YXIgZT1pO3IoMCxpPXsuLi5lfSksYXdhaXQgX28oKX0sZT0+e3AoImhhbmRsZU9wZW5Nb2RhbCIsZS5kZXRhaWwpfSwoKT0+e3AoImdvIix7c3RhdHVzOk0uQ2xvc2VkLGV2ZW50OnouQWNjZXB0U29tZSx1cGRhdGVDb25zZW50OiEwfSl9LHQsdSxnLG0sZixoLGIseCx5LHcsQyx2LGssSSxTLFQsKCk9PnIoMyxhPU4uQ29va2llcyksZT0+X2EoZSwoKT0+cigzLGE9Ti5Db29raWVzKSksKCk9PnIoMyxhPU4uQ2F0ZWdvcmllcyksZT0+X2EoZSwoKT0+cigzLGE9Ti5DYXRlZ29yaWVzKSksKCk9PnIoMyxhPU4uVmVuZG9ycyksZT0+X2EoZSwoKT0+cigzLGE9Ti5WZW5kb3JzKSksKCk9PnAoImdvIix7c3RhdHVzOk0uQ2FyZH0pLCgpPT5wKCJnbyIse3N0YXR1czpNLkNsb3NlZCxldmVudDp6LlJlamVjdEFsbCx1cGRhdGVDb25zZW50OiEwfSldfWNsYXNzIFZhIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLE5hLFBhLHIse2NvbmZpZzowLHN0eWxlczoxLGlzTW9kYWxJbmZvT3BlbjoyfSxudWxsLFstMSwtMV0pfX1mdW5jdGlvbiBNYShlKXtsZXQgbyxyO3JldHVybntjKCl7bz1iKCJzdmciKSxtZShyPWIoInBhdGgiKSwiaWQiLCJpY29uLW5hdi1jaGVjayIpLG1lKHIsImQiLCJNMTQuNDc1LDMyLjdhLjM5LjM5LDAsMCwxLS4yNTMtLjFMNS45NjQsMjQuNjNhLjM1OS4zNTksMCwwLDEsMC0uNTI1LjM3MS4zNzEsMCwwLDEsLjUzMiwwbDcuOTUzLDcuNjdMMjYuNTU2LDE3LjUxYS40LjQsMCwwLDEsLjUzMi0uMDUuMzg0LjM4NCwwLDAsMSwuMDUxLjUyNUwxNC43NTMsMzIuNTc1YS4zMjkuMzI5LDAsMCwxLS4yNzkuMTI1WiIpLG1lKHIsInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgtNS4zNSAtMTYuODI0KSIpLG1lKHIsImZpbGwiLCIjNGQ0ZTUzIiksbWUociwic3Ryb2tlIiwiIzRkNGU1MyIpLG1lKHIsInN0cm9rZS1saW5lY2FwIiwicm91bmQiKSxtZShyLCJzdHJva2Utd2lkdGgiLCIxIiksbWUobywieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLG1lKG8sIndpZHRoIixlWzBdKSxtZShvLCJoZWlnaHQiLGVbMV0pLG1lKG8sInZpZXdCb3giLCIwIDAgMjIuMzcxIDE2LjM3NiIpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8scil9LHAoZSxbdF0pezEmdCYmbWUobywid2lkdGgiLGVbMF0pLDImdCYmbWUobywiaGVpZ2h0IixlWzFdKX0saTpoLG86aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gemEoZSx0LG8pe2xldHt3aWR0aDpyPSIyMi4zNzFweCJ9PXQse2hlaWdodDppPSIxNi4zNzZweCJ9PXQ7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJ3aWR0aCJpbiBlJiZvKDAscj1lLndpZHRoKSwiaGVpZ2h0ImluIGUmJm8oMSxpPWUuaGVpZ2h0KX0sW3IsaV19Y2xhc3MgRmEgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsemEsTWEscix7d2lkdGg6MCxoZWlnaHQ6MX0pfX1mdW5jdGlvbiBVYSgpe2xldCBvLHI7cmV0dXJuIG89bmV3IEZhKHt9KSx7Yygpe3hlKG8uJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUobyxlLHQpLHI9ITB9LGkoZSl7cnx8KGhlKG8uJCQuZnJhZ21lbnQsZSkscj0hMCl9LG8oZSl7YmUoby4kJC5mcmFnbWVudCxlKSxyPSExfSxkKGUpe3dlKG8sZSl9fX1mdW5jdGlvbiBXYShvKXtsZXQgcixpLG4sYSxzLGw9b1swXSYmVWEoKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGwmJmwuYygpLG1lKHIsInJvbGUiLCJjaGVja2JveCIpLG1lKHIsImNsYXNzIixpPW9bMV0oe2FjdGl2ZTpvWzBdfSkpLG1lKHIsInRhYmluZGV4IiwiMCIpfSxtKGUsdCl7bGUoZSxyLHQpLGwmJmwubShyLG51bGwpLG49ITAsYXx8KHM9W2dlKHIsImNsaWNrIixvWzVdKSxnZShyLCJrZXlkb3duIixvWzNdKV0sYT0hMCl9LHAoZSxbdF0pe2VbMF0/bD8xJnQmJmhlKGwsMSk6KChsPVVhKCkpLmMoKSxoZShsLDEpLGwubShyLG51bGwpKTpsJiYoaWUoKSxiZShsLDEsMSwoKT0+e2w9bnVsbH0pLG5lKCkpLCghbnx8MyZ0JiZpIT09KGk9ZVsxXSh7YWN0aXZlOmVbMF19KSkpJiZtZShyLCJjbGFzcyIsaSl9LGkoZSl7bnx8KGhlKGwpLG49ITApfSxvKGUpe2JlKGwpLG49ITF9LGQoZSl7ZSYmY2UociksbCYmbC5kKCksYT0hMSxybyhzKX19fWZ1bmN0aW9uIEhhKGUsdCxvKXtsZXQgcj0kbygpLGk9dC5pZCx7YWN0aXZlOm49ITF9PXQsYT10LmNhdGVnb3J5U2VsZWN0b3JJY29uO3JldHVybiBlLiQkc2V0PWU9PnsiaWQiaW4gZSYmbyg0LGk9ZS5pZCksImFjdGl2ZSJpbiBlJiZvKDAsbj1lLmFjdGl2ZSksImNhdGVnb3J5U2VsZWN0b3JJY29uImluIGUmJm8oMSxhPWUuY2F0ZWdvcnlTZWxlY3Rvckljb24pfSxbbixhLHIsZnVuY3Rpb24oZSl7IkVudGVyIiE9PWUua2V5JiYiICIhPT1lLmtleXx8KGUucHJldmVudERlZmF1bHQoKSxyKCJ0b2dnbGVkIiwhbikpfSxpLCgpPT5yKCJ0b2dnbGVkIiwhbildfWNsYXNzIEdhIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEhhLFdhLHIse2lkOjQsYWN0aXZlOjAsY2F0ZWdvcnlTZWxlY3Rvckljb246MX0pfX1mdW5jdGlvbiBxYShlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbMzRdPXRbb10sZX1mdW5jdGlvbiBLYShlLHQsbyl7ZT1lLnNsaWNlKCk7cmV0dXJuIGVbMzddPXRbb10sZX1mdW5jdGlvbiBRYShvKXtsZXQgcixpLG4sYSxzLGwsYyxkLHAsdSxnLG0sZixoLGIseD0xIT1vWzFdJiZKYShvKSx5PTE9PW9bMV0mJm9bNF0mJlphKG8pLHc9MDxvWzhdPy5sZW5ndGgmJllhKG8pLEM9b1s2XSYmWGEobyk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSx4JiZ4LmMoKSxuPXVlKCksYT1kZSgiZGl2Iikscz1kZSgiZGl2IiksbD1kZSgiZGl2IiksYz1wZShvWzJdKSxkPXVlKCkseSYmeS5jKCkscD11ZSgpLHcmJncuYygpLHU9dWUoKSxDJiZDLmMoKSxtZShzLCJjbGFzcyIsb1sxN10oKSksbWUoYSwiY2xhc3MiLG9bMTZdKCkpLG1lKGEsInJvbGUiLCJidXR0b24iKSxtZShhLCJ0YWJpbmRleCIsIjAiKSxtZShhLCJhcmlhLWV4cGFuZGVkIixvWzZdKSxtZShhLCJhcmlhLWNvbnRyb2xzIiwiYWNjb3JkaW9uLWNvbnRlbnQiKSxtZShpLCJjbGFzcyIsb1sxNV0oKSksbWUociwiY2xhc3MiLGc9b1sxNF0oe2xhc3Q6NT09b1sxXX0pKSxtZShyLCJpZCIsbT0iY2F0JCIrb1sxXS50b1N0cmluZygpKX0sbShlLHQpe2xlKGUscix0KSxzZShyLGkpLHgmJngubShpLG51bGwpLHNlKGksbiksc2UoaSxhKSxzZShhLHMpLHNlKHMsbCksc2UobCxjKSxzZShzLGQpLHkmJnkubShzLG51bGwpLHNlKGEscCksdyYmdy5tKGEsbnVsbCksc2Uocix1KSxDJiZDLm0ocixudWxsKSxmPSEwLGh8fChiPVtnZShhLCJjbGljayIsb1sxMV0pLGdlKGEsImtleWRvd24iLG9bMjddKV0saD0hMCl9LHAoZSx0KXsxIT1lWzFdP3g/KHgucChlLHQpLDImdFswXSYmaGUoeCwxKSk6KCh4PUphKGUpKS5jKCksaGUoeCwxKSx4Lm0oaSxuKSk6eCYmKGllKCksYmUoeCwxLDEsKCk9Pnt4PW51bGx9KSxuZSgpKSwoIWZ8fDQmdFswXSkmJmZlKGMsZVsyXSksMT09ZVsxXSYmZVs0XT95P3kucChlLHQpOigoeT1aYShlKSkuYygpLHkubShzLG51bGwpKTp5JiYoeS5kKDEpLHk9bnVsbCksMDxlWzhdPy5sZW5ndGg/dz8ody5wKGUsdCksMjU2JnRbMF0mJmhlKHcsMSkpOigodz1ZYShlKSkuYygpLGhlKHcsMSksdy5tKGEsbnVsbCkpOncmJihpZSgpLGJlKHcsMSwxLCgpPT57dz1udWxsfSksbmUoKSksKCFmfHw2NCZ0WzBdKSYmbWUoYSwiYXJpYS1leHBhbmRlZCIsZVs2XSksZVs2XT9DPyhDLnAoZSx0KSw2NCZ0WzBdJiZoZShDLDEpKTooKEM9WGEoZSkpLmMoKSxoZShDLDEpLEMubShyLG51bGwpKTpDJiYoaWUoKSxiZShDLDEsMSwoKT0+e0M9bnVsbH0pLG5lKCkpLCghZnx8MiZ0WzBdJiZnIT09KGc9ZVsxNF0oe2xhc3Q6NT09ZVsxXX0pKSkmJm1lKHIsImNsYXNzIixnKSwoIWZ8fDImdFswXSYmbSE9PShtPSJjYXQkIitlWzFdLnRvU3RyaW5nKCkpKSYmbWUociwiaWQiLG0pfSxpKGUpe2Z8fChoZSh4KSxoZSh3KSxoZShDKSxmPSEwKX0sbyhlKXtiZSh4KSxiZSh3KSxiZShDKSxmPSExfSxkKGUpe2UmJmNlKHIpLHgmJnguZCgpLHkmJnkuZCgpLHcmJncuZCgpLEMmJkMuZCgpLGg9ITEscm8oYil9fX1mdW5jdGlvbiBKYShlKXtsZXQgbyxyLGk7cmV0dXJuKHI9bmV3IEdhKHtwcm9wczp7Y2F0ZWdvcnlTZWxlY3Rvckljb246ZVsyNV0sYWN0aXZlOjE9PWVbMV18fDA8ZVs5XSxpZDplWzFdLnRvU3RyaW5nKCl9fSkpLiRvbigidG9nZ2xlZCIsZVsxMF0pLHtjKCl7bz1kZSgiZGl2IikseGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXtsZShlLG8sdCkseWUocixvLG51bGwpLGk9ITB9LHAoZSx0KXt2YXIgbz17fTs1MTQmdFswXSYmKG8uYWN0aXZlPTE9PWVbMV18fDA8ZVs5XSksMiZ0WzBdJiYoby5pZD1lWzFdLnRvU3RyaW5nKCkpLHIuJHNldChvKX0saShlKXtpfHwoaGUoci4kJC5mcmFnbWVudCxlKSxpPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLGk9ITF9LGQoZSl7ZSYmY2Uobyksd2Uocil9fX1mdW5jdGlvbiBaYShlKXtsZXQgbyxyO3JldHVybntjKCl7bz1kZSgiZGl2Iikscj1wZShlWzRdKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpfSxwKGUsdCl7MTYmdFswXSYmZmUocixlWzRdKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIFlhKGUpe2xldCBvLHIsaSxuO3JldHVybiBpPW5ldyBGaSh7cHJvcHM6e3NpemU6IjE4Iixyb3RhdGU6ZVs2XX19KSx7Yygpe289ZGUoImRpdiIpLHI9ZGUoImRpdiIpLHhlKGkuJCQuZnJhZ21lbnQpLG1lKG8sImNsYXNzIixlWzE5XSgpKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLHIpLHllKGkscixudWxsKSxuPSEwfSxwKGUsdCl7dmFyIG89e307NjQmdFswXSYmKG8ucm90YXRlPWVbNl0pLGkuJHNldChvKX0saShlKXtufHwoaGUoaS4kJC5mcmFnbWVudCxlKSxuPSEwKX0sbyhlKXtiZShpLiQkLmZyYWdtZW50LGUpLG49ITF9LGQoZSl7ZSYmY2Uobyksd2UoaSl9fX1mdW5jdGlvbiBYYSh0KXtsZXQgbyxpLG4scjtmdW5jdGlvbiBlKGUsdCl7cmV0dXJuKG89bnVsbD09KG89OCZ0WzBdP251bGw6byk/ISghZVszXS5pbmNsdWRlcygiPGEiKXx8ZVszXS5pbmNsdWRlcygiPHNjcmlwdCIpKTpvKT90czplc31sZXQgYT1lKHQsWy0xLC0xXSkscz1hKHQpLGw9dFs4XSxjPVtdO2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSs9MSljW2VdPWFzKHFhKHQsbCxlKSk7cmV0dXJue2MoKXtzLmMoKSxpPXVlKCk7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKz0xKWNbZV0uYygpO249Zm8oKX0sbSh0LG8pe3MubSh0LG8pLGxlKHQsaSxvKTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrPTEpY1tlXSYmY1tlXS5tKHQsbyk7bGUodCxuLG8pLHI9ITB9LHAodCxvKXtpZihhPT09KGE9ZSh0LG8pKSYmcz9zLnAodCxvKToocy5kKDEpLChzPWEodCkpJiYocy5jKCkscy5tKGkucGFyZW50Tm9kZSxpKSkpLDY2MDczMDI1Jm9bMF0pe2w9dFs4XTtsZXQgZTtmb3IoZT0wO2U8bC5sZW5ndGg7ZSs9MSl7dmFyIHI9cWEodCxsLGUpO2NbZV0/KGNbZV0ucChyLG8pLGhlKGNbZV0sMSkpOihjW2VdPWFzKHIpLGNbZV0uYygpLGhlKGNbZV0sMSksY1tlXS5tKG4ucGFyZW50Tm9kZSxuKSl9Zm9yKGllKCksZT1sLmxlbmd0aDtlPGMubGVuZ3RoO2UrPTEpKGU9PmJlKGNbZV0sMSwxLCgpPT57Y1tlXT1udWxsfSkpKGUpO25lKCl9fSxpKGUpe2lmKCFyKXtmb3IobGV0IGU9MDtlPGwubGVuZ3RoO2UrPTEpaGUoY1tlXSk7cj0hMH19LG8oZSl7Yz1jLmZpbHRlcihCb29sZWFuKTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrPTEpYmUoY1tlXSk7cj0hMX0sZChlKXtzLmQoZSksZSYmY2UoaSksbW8oYyxlKSxlJiZjZShuKX19fWZ1bmN0aW9uIGVzKG8pe2xldCByLGksbixhO3JldHVybntjKCl7cj1kZSgiZGl2IiksaT1wZShvWzNdKSxtZShyLCJjbGFzcyIsb1sxOF0oKSl9LG0oZSx0KXtsZShlLHIsdCksc2UocixpKSxufHwoYT1nZShyLCJjbGljayIsb1sxMV0pLG49ITApfSxwKGUsdCl7OCZ0WzBdJiZmZShpLGVbM10pfSxkKGUpe2UmJmNlKHIpLG49ITEsYSgpfX19ZnVuY3Rpb24gdHMobyl7bGV0IHIsaSxuO3JldHVybntjKCl7bWUocj1kZSgiZGl2IiksImNsYXNzIixvWzE4XSgpKX0sbShlLHQpe2xlKGUscix0KSxyLmlubmVySFRNTD1vWzNdLGl8fChuPWdlKHIsImNsaWNrIixvWzExXSksaT0hMCl9LHAoZSx0KXs4JnRbMF0mJihyLmlubmVySFRNTD1lWzNdKX0sZChlKXtlJiZjZShyKSxpPSExLG4oKX19fWZ1bmN0aW9uIG9zKGUpe2xldCBvLHIsaTtyZXR1cm4gcj1uZXcgRmkoe3Byb3BzOntzaXplOiIxOCIscm90YXRlOmVbN109PT1lWzM0XS5pZH19KSx7Yygpe289ZGUoImRpdiIpLHhlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7bGUoZSxvLHQpLHllKHIsbyxudWxsKSxpPSEwfSxwKGUsdCl7dmFyIG89e307Mzg0JnRbMF0mJihvLnJvdGF0ZT1lWzddPT09ZVszNF0uaWQpLHIuJHNldChvKX0saShlKXtpfHwoaGUoci4kJC5mcmFnbWVudCxlKSxpPSEwKX0sbyhlKXtiZShyLiQkLmZyYWdtZW50LGUpLGk9ITF9LGQoZSl7ZSYmY2Uobyksd2Uocil9fX1mdW5jdGlvbiBycyh0KXtsZXQgaSxuLGUscixhLHMsbD1WaT8uW3RbMF0ubGFuZ3VhZ2VdPy5jbGVhbkNvb2tpZSsiIixjLGQscCx1PXRbMzRdLmNvb2tpZXMsZz1bXTtmb3IobGV0IGU9MDtlPHUubGVuZ3RoO2UrPTEpZ1tlXT1ucyhLYSh0LHUsZSkpO3JldHVybiByPW5ldyBNbih7fSkse2MoKXtmb3IobGV0IGU9MDtlPGcubGVuZ3RoO2UrPTEpZ1tlXS5jKCk7aT11ZSgpLG49ZGUoImEiKSxlPWRlKCJkaXYiKSx4ZShyLiQkLmZyYWdtZW50KSxhPXVlKCkscz1kZSgiZGl2IiksYz1wZShsKSxtZShuLCJ0YWJpbmRleCIsIjAiKSxtZShuLCJyZWwiLCJub29wZW5lciIpLG1lKG4sInRhcmdldCIsIl9ibGFuayIpLG1lKG4sImNsYXNzIix0WzI0XSgpKSxtZShuLCJocmVmIixkPXRbMF0/LnVybHM/LmNsZWFuQ29va2llTGluaz8/Imh0dHBzOi8vZ29hZG9wdC5pby9ibG9nL2FwYWdhci1jb29raWVzLWNhY2hlLW5hdmVnYWRvci8iKX0sbSh0LG8pe2ZvcihsZXQgZT0wO2U8Zy5sZW5ndGg7ZSs9MSlnW2VdJiZnW2VdLm0odCxvKTtsZSh0LGksbyksbGUodCxuLG8pLHNlKG4sZSkseWUocixlLG51bGwpLHNlKG4sYSksc2UobixzKSxzZShzLGMpLHA9ITB9LHAodCxvKXtpZig4Mzg4ODY1Jm9bMF0pe3U9dFszNF0uY29va2llcztsZXQgZTtmb3IoZT0wO2U8dS5sZW5ndGg7ZSs9MSl7dmFyIHI9S2EodCx1LGUpO2dbZV0/Z1tlXS5wKHIsbyk6KGdbZV09bnMociksZ1tlXS5jKCksZ1tlXS5tKGkucGFyZW50Tm9kZSxpKSl9Zm9yKDtlPGcubGVuZ3RoO2UrPTEpZ1tlXS5kKDEpO2cubGVuZ3RoPXUubGVuZ3RofSghcHx8MSZvWzBdKSYmbCE9PShsPVZpPy5bdFswXS5sYW5ndWFnZV0/LmNsZWFuQ29va2llKyIiKSYmZmUoYyxsKSwoIXB8fDEmb1swXSYmZCE9PShkPXRbMF0/LnVybHM/LmNsZWFuQ29va2llTGluaz8/Imh0dHBzOi8vZ29hZG9wdC5pby9ibG9nL2FwYWdhci1jb29raWVzLWNhY2hlLW5hdmVnYWRvci8iKSkmJm1lKG4sImhyZWYiLGQpfSxpKGUpe3B8fChoZShyLiQkLmZyYWdtZW50LGUpLHA9ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSkscD0hMX0sZChlKXttbyhnLGUpLGUmJmNlKGkpLGUmJmNlKG4pLHdlKHIpfX19ZnVuY3Rpb24gaXMoZSl7bGV0IG8scj1lWzM3XT8uZGVzY3JpcHRpb24rIiIsaTtyZXR1cm57Yygpe289ZGUoImRpdiIpLGk9cGUocil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezI1NiZ0WzBdJiZyIT09KHI9ZVszN10/LmRlc2NyaXB0aW9uKyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIG5zKGUpe2xldCBvLHIsaSxuPWVbMzddLm5hbWUrIiIsYSxzLGwsYyxkLHA9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8uZXhwaXJhdGlvbisiIix1LGcsbSxmPSgtMT09PWVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzP1ZpPy5bZVswXS5sYW5ndWFnZV0/LnNlc3Npb246LTI9PT1lWzM3XS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcz8iTG9jYWxTdG9yYWdlIjpadChlWzM3XS5leHBpcmF0aW9uX21pbGxpc2Vjb25kcykubnVtYmVyKyIgIitWaT8uW2VbMF0ubGFuZ3VhZ2VdPy51bml0T2ZUaW1lW1p0KGVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzKS50eXBlXSkrIiIsaCxiLHgseSx3PWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LnJlZ2lvbisiIixDLHYsayxJPWVbMzddLnJlZ2lvbisiIixTLFQ9ZVszN10/LmRlc2NyaXB0aW9uJiZpcyhlKTtyZXR1cm57Yygpe289ZGUoImRpdiIpLHI9ZGUoImRpdiIpLGk9ZGUoImIiKSxhPXBlKG4pLHM9dWUoKSxUJiZULmMoKSxsPXVlKCksYz1kZSgiZGl2IiksZD1kZSgiYiIpLHU9cGUocCksZz1wZSgiOiIpLG09dWUoKSxoPXBlKGYpLGI9dWUoKSx4PWRlKCJkaXYiKSx5PWRlKCJiIiksQz1wZSh3KSx2PXBlKCI6Iiksaz11ZSgpLFM9cGUoSSksbWUobywiY2xhc3MiLGVbMjNdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8sciksc2UocixpKSxzZShpLGEpLHNlKG8scyksVCYmVC5tKG8sbnVsbCksc2UobyxsKSxzZShvLGMpLHNlKGMsZCksc2UoZCx1KSxzZShkLGcpLHNlKGMsbSksc2UoYyxoKSxzZShvLGIpLHNlKG8seCksc2UoeCx5KSxzZSh5LEMpLHNlKHksdiksc2UoeCxrKSxzZSh4LFMpfSxwKGUsdCl7MjU2JnRbMF0mJm4hPT0obj1lWzM3XS5uYW1lKyIiKSYmZmUoYSxuKSxlWzM3XT8uZGVzY3JpcHRpb24/VD9ULnAoZSx0KTooKFQ9aXMoZSkpLmMoKSxULm0obyxsKSk6VCYmKFQuZCgxKSxUPW51bGwpLDEmdFswXSYmcCE9PShwPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmV4cGlyYXRpb24rIiIpJiZmZSh1LHApLDI1NyZ0WzBdJiZmIT09KGY9KC0xPT09ZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHM/Vmk/LltlWzBdLmxhbmd1YWdlXT8uc2Vzc2lvbjotMj09PWVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzPyJMb2NhbFN0b3JhZ2UiOlp0KGVbMzddLmV4cGlyYXRpb25fbWlsbGlzZWNvbmRzKS5udW1iZXIrIiAiK1ZpPy5bZVswXS5sYW5ndWFnZV0/LnVuaXRPZlRpbWVbWnQoZVszN10uZXhwaXJhdGlvbl9taWxsaXNlY29uZHMpLnR5cGVdKSsiIikmJmZlKGgsZiksMSZ0WzBdJiZ3IT09KHc9ZVswXT8udGV4dHM/LmJvZHlUZXh0cz8ucmVnaW9uKyIiKSYmZmUoQyx3KSwyNTYmdFswXSYmSSE9PShJPWVbMzddLnJlZ2lvbisiIikmJmZlKFMsSSl9LGQoZSl7ZSYmY2UobyksVCYmVC5kKCl9fX1mdW5jdGlvbiBhcyhvKXtsZXQgcixpLG4sYSxzLGwsYyxkPW9bMzRdLm5hbWUrIiIscCx1LGcsbSxmLGgsYix4OyhhPW5ldyBHYSh7cHJvcHM6e2NhdGVnb3J5U2VsZWN0b3JJY29uOm9bMjVdLGlkOm9bMzRdLmlkLGFjdGl2ZTpvWzM0XS5hY2NlcHR9fSkpLiRvbigidG9nZ2xlZCIsZnVuY3Rpb24oKXtyZXR1cm4gb1syOF0ob1szNF0pfSk7bGV0IHk9MDxvWzM0XS5jb29raWVzPy5sZW5ndGgmJm9zKG8pO2Z1bmN0aW9uIHcoKXtyZXR1cm4gb1syOV0ob1szNF0pfWZ1bmN0aW9uIEMoLi4uZSl7cmV0dXJuIG9bMzBdKG9bMzRdLC4uLmUpfWxldCB2PW9bN109PT1vWzM0XS5pZCYmcnMobyk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxuPWRlKCJkaXYiKSx4ZShhLiQkLmZyYWdtZW50KSxzPXVlKCksbD1kZSgiZGl2IiksYz1kZSgiZGl2IikscD1wZShkKSx1PXVlKCkseSYmeS5jKCksZz11ZSgpLHYmJnYuYygpLG09dWUoKSxtZShsLCJjbGFzcyIsb1syMl0oKSksbWUobCwicm9sZSIsImJ1dHRvbiIpLG1lKGwsInRhYmluZGV4IiwiMCIpLG1lKGwsImFyaWEtZXhwYW5kZWQiLG9bNl0pLG1lKGwsImFyaWEtY29udHJvbHMiLCJhY2NvcmRpb24tY29udGVudCIpLG1lKGksImNsYXNzIixvWzIxXSgpKSxtZShyLCJjbGFzcyIsb1syMF0oKSksbWUociwiaWQiLGY9b1szNF0uaWQpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSx5ZShhLG4sbnVsbCksc2UoaSxzKSxzZShpLGwpLHNlKGwsYyksc2UoYyxwKSxzZShsLHUpLHkmJnkubShsLG51bGwpLHNlKHIsZyksdiYmdi5tKHIsbnVsbCksc2UocixtKSxoPSEwLGJ8fCh4PVtnZShsLCJjbGljayIsdyksZ2UobCwia2V5ZG93biIsQyldLGI9ITApfSxwKGUsdCl7bz1lO2U9e307MjU2JnRbMF0mJihlLmlkPW9bMzRdLmlkKSwyNTYmdFswXSYmKGUuYWN0aXZlPW9bMzRdLmFjY2VwdCksYS4kc2V0KGUpLCghaHx8MjU2JnRbMF0pJiZkIT09KGQ9b1szNF0ubmFtZSsiIikmJmZlKHAsZCksMDxvWzM0XS5jb29raWVzPy5sZW5ndGg/eT8oeS5wKG8sdCksMjU2JnRbMF0mJmhlKHksMSkpOigoeT1vcyhvKSkuYygpLGhlKHksMSkseS5tKGwsbnVsbCkpOnkmJihpZSgpLGJlKHksMSwxLCgpPT57eT1udWxsfSksbmUoKSksKCFofHw2NCZ0WzBdKSYmbWUobCwiYXJpYS1leHBhbmRlZCIsb1s2XSksb1s3XT09PW9bMzRdLmlkP3Y/KHYucChvLHQpLDM4NCZ0WzBdJiZoZSh2LDEpKTooKHY9cnMobykpLmMoKSxoZSh2LDEpLHYubShyLG0pKTp2JiYoaWUoKSxiZSh2LDEsMSwoKT0+e3Y9bnVsbH0pLG5lKCkpLCghaHx8MjU2JnRbMF0mJmYhPT0oZj1vWzM0XS5pZCkpJiZtZShyLCJpZCIsZil9LGkoZSl7aHx8KGhlKGEuJCQuZnJhZ21lbnQsZSksaGUoeSksaGUodiksaD0hMCl9LG8oZSl7YmUoYS4kJC5mcmFnbWVudCxlKSxiZSh5KSxiZSh2KSxoPSExfSxkKGUpe2UmJmNlKHIpLHdlKGEpLHkmJnkuZCgpLHYmJnYuZCgpLGI9ITEscm8oeCl9fX1mdW5jdGlvbiBzcyhlKXtsZXQgbyxyLGk9KDA8ZVs4XT8ubGVuZ3RofHxlWzVdKSYmUWEoZSk7cmV0dXJue2MoKXtpJiZpLmMoKSxvPWZvKCl9LG0oZSx0KXtpJiZpLm0oZSx0KSxsZShlLG8sdCkscj0hMH0scChlLHQpezA8ZVs4XT8ubGVuZ3RofHxlWzVdP2k/KGkucChlLHQpLDI4OCZ0WzBdJiZoZShpLDEpKTooKGk9UWEoZSkpLmMoKSxoZShpLDEpLGkubShvLnBhcmVudE5vZGUsbykpOmkmJihpZSgpLGJlKGksMSwxLCgpPT57aT1udWxsfSksbmUoKSl9LGkoZSl7cnx8KGhlKGkpLHI9ITApfSxvKGUpe2JlKGkpLHI9ITF9LGQoZSl7aSYmaS5kKGUpLGUmJmNlKG8pfX19ZnVuY3Rpb24gbHMoZSx0LG8pe2xldCByPXQuY29uZmlnLGk9dC50YWdDYXRlZ29yeUlkLG49dC5jYXROYW1lLGE9dC5jYXREZXNjLHtjYXRIZWxwZXJUZXh0OnM9bnVsbH09dCx7cmVxdWlyZWQ6bD0hMX09dCxjPXQuc3R5bGVzLGQ9JG8oKSxwPSExO2xldCB1PSEocj8uZGlzY2xhaW1lck9wdGlvbnM/LnVuY2hlY2tUYWdzfHwhMSksZyxtPXI/LnRhZ3M/LmZpbHRlcihlPT5lPy50YWdfY2F0ZWdvcnlfaWQ9PT1wYXJzZUludChpKSksZj1tPy5maWx0ZXIoZT0+ZS5hY2NlcHQpPy5sZW5ndGg7bGV0IGg9KCk9PntvKDYscD0hcCl9LGI9ZT0+e2UuaWQ9PT1nfHwwPT09ZS5jb29raWVzPy5sZW5ndGg/byg3LGc9dm9pZCAwKTpvKDcsZz1lLmlkKX0seD1lPT57bHx8KGQoInRvZ2dsZWQiLGUpLG8oOCxtPXI/LnRhZ3M/LmZpbHRlcihlPT5lPy50YWdfY2F0ZWdvcnlfaWQ9PT1wYXJzZUludChpKSkpLG0/LmZpbHRlcihlPT5lLmFjY2VwdCk/Lmxlbmd0aCE9PW0/Lmxlbmd0aCYmKHU9ITEpLG0/LmZpbHRlcihlPT5lLmFjY2VwdCk/Lmxlbmd0aD09PW0/Lmxlbmd0aCYmKHU9ITApLG8oOSxmPW0/LmZpbHRlcihlPT5lLmFjY2VwdCk/Lmxlbmd0aCkpfTt2YXJ7Y2F0ZWdvcnk6dCxjYXRlZ29yeVRpdGxlQ29udGFpbmVyOnksY2F0ZWdvcnlUaXRsZVdyYXBwZXI6dyxjYXRlZ29yeVRpdGxlOkMsY2F0ZWdvcnlEZXNjcmlwdGlvbjp2LGNhdGVnb3J5VG9vZ2xlU2hvd1RhZ3M6ayxjYXRlZ29yeVRhZzpJLGNhdGVnb3J5VGFnVGl0bGVTZWN0aW9uOlMsY2F0ZWdvcnlUYWdUaXRsZTpULGNhdGVnb3J5VGFnQ29va2llQ29udGFpbmVyOkwsY2F0ZWdvcnlUYWdDbGVhbkNhY2hlTGluazokLGNhdGVnb3J5U2VsZWN0b3JJY29uOkF9PSgoZSx0KT0+e3Zhcntjb2xvcnM6byxkaXNjbGFpbWVyT3B0aW9uczpyfT1lLHtzdHlsZXM6ZSxoYXNJbXBvcnRhbnQ6aX09ZS5zdHlsZXM/P3t9LHt0aGVtZTp0PSJsaWdodCIsc3R5bGVzOm4saGFzSW1wb3J0YW50OmEsY29sb3JzOnN9PXQ7bGV0IGw9dm9pZCAwPT09YXx8YT92b2lkIDA9PT1pfHxpPyIhaW1wb3J0YW50IjoiIjoiIjthPXI/LmFjY2Vzc2liaWxpdHksaT0iIWltcG9ydGFudCI9PT1sPyJ1bnNldCAhaW1wb3J0YW50IjoiIixyPVFyKHsiMCUiOnt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTEwcHgpIn0sIjEwMCUiOnt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifX0pO3JldHVybntjYXRlZ29yeTpCKHtwYWRkaW5nOiIzMHB4IDIwcHggIitsLHZhcmlhbnRzOntsYXN0OntmYWxzZTp7Ym9yZGVyQm90dG9tOiIxcHggc29saWQgI0QyRDREQSAiK2x9fX0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeSwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LCJAbW9iaWxlIjp7cGFkZGluZzoiMTVweCAwICIrbCwuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5LC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnl9fSksY2F0ZWdvcnlUaXRsZUNvbnRhaW5lcjpCKHtkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGdhcDoiMTRweCAiK2wsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5jYXRlZ29yeVRpdGxlQ29udGFpbmVyLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZUNvbnRhaW5lciwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZUNvbnRhaW5lciwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5VGl0bGVDb250YWluZXJ9fSksY2F0ZWdvcnlUaXRsZVdyYXBwZXI6Qih7ZGlzcGxheToiZmxleCAiK2wsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsZmxleDoiMSAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5VGl0bGVXcmFwcGVyLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZVdyYXBwZXIsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5VGl0bGVXcmFwcGVyLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlUaXRsZVdyYXBwZXJ9fSksY2F0ZWdvcnlUaXRsZTpCKHthbGw6aSxmb250U2l6ZToiMTZweCAiK2wsbGluZUhlaWdodDoiMjBweCAiK2wsZm9udFdlaWdodDoiYm9sZCAiK2wsY29sb3I6IiM0RDRFNTMgIitsLGRpc3BsYXk6ImZsZXggIitsLGdhcDoiMjBweCAiK2wsIiYgPiBkaXY6bnRoLWNoaWxkKDIpIjp7Zm9udFdlaWdodDoibm9ybWFsICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRpdGxlLCJAbW9iaWxlIjp7ZGlzcGxheToiYmxvY2sgIitsLCImID4gZGl2Om50aC1jaGlsZCgyKSI6e2ZvbnRTaXplOiIxMnB4ICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50aXRsZSwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRpdGxlfX0pLGNhdGVnb3J5RGVzY3JpcHRpb246Qih7YWxsOmksZm9udFNpemU6IjE2cHggIitsLHdpZHRoOiIxMDAlICIrbCxkaXNwbGF5OiJibG9jayAiK2wscGFkZGluZ1RvcDoiMzBweCAiK2wsbGluZUhlaWdodDoiMjFweCAiK2wsY29sb3I6IiM0RDRFNTMgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9uLCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy5kZXNjcmlwdGlvbiwuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmRlc2NyaXB0aW9ufX0pLGNhdGVnb3J5VG9vZ2xlU2hvd1RhZ3M6Qih7IiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzLCJAbW9iaWxlIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50b29nbGVTaG93VGFncywuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRvb2dsZVNob3dUYWdzfX0pLGNhdGVnb3J5VGFnOkIoe3BhZGRpbmc6IjhweCAiK2wsbWFyZ2luVG9wOiIxMHB4ICIrbCxib3JkZXJSYWRpdXM6IjVweCAiK2wsY29sb3I6IiM0RDRFNTMgICIrbCxib3JkZXI6IjFweCBzb2xpZCAjRDJENERBICIrbCxhbmltYXRpb246cisiIDQwMG1zIGVhc2Utb3V0ICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZywiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnfX0pLGNhdGVnb3J5VGFnVGl0bGVTZWN0aW9uOkIoe2Rpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsZ2FwOiIxNHB4ICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ1RpdGxlU2VjdGlvbiwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9uLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGVTZWN0aW9ufX0pLGNhdGVnb3J5VGFnVGl0bGU6Qih7Zm9udFNpemU6IjE0cHggIitsLGZsZXhHcm93OiIxICIrbCxjdXJzb3I6InBvaW50ZXIgIitsLGRpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4gIitsLGdhcDoiMTRweCAiK2wsIiYgPiBkaXYiOnt3b3JkQnJlYWs6ImJyZWFrLWFsbCAiK2x9LCImIHN2ZyI6e2ZpbGw6RChPLndlYixSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/LndlYj8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4ubj8ud2ViPy5jYXRlZ29yaWVzPy50YWdUaXRsZSwiQG1vYmlsZSI6eyImIHN2ZyI6e2ZpbGw6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnVGl0bGUsLi4ubj8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdUaXRsZX19KSxjYXRlZ29yeVRhZ0Nvb2tpZUNvbnRhaW5lcjpCKHtkaXNwbGF5OiJmbGV4ICIrbCxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitsLGdhcDoiNXB4ICIrbCxwYWRkaW5nOiI0cHggOHB4ICIrbCxtYXJnaW46IjEwcHggMCA1cHggIitsLGJvcmRlclJhZGl1czoiNXB4ICIrbCxiYWNrZ3JvdW5kT3BhY2l0eToiMC4yICIrbCxiYWNrZ3JvdW5kOiIjZmZmICIrbCxhbmltYXRpb246cisiIDQwMG1zIGVhc2Utb3V0ICIrbCwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lciwuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0Nvb2tpZUNvbnRhaW5lciwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8udGFnQ29va2llQ29udGFpbmVyfX0pLGNhdGVnb3J5VGFnQ2xlYW5DYWNoZUxpbms6Qih7YWxsOmksY3Vyc29yOiJwb2ludGVyICIrbCxtYXJnaW46IjIwcHggMCA1cHggMCAiK2wsdGV4dERlY29yYXRpb246Im5vbmUgIitsLHRyYW5zaXRpb25EdXJhdGlvbjoiMjUwbXMgIitsLGRpc3BsYXk6ImZsZXggIitsLGdhcDoiMnB4ICIrbCxjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwiJjpmb2N1cy12aXNpYmxlIjphJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitsLG91dGxpbmVPZmZzZXQ6IjNweCAiK2x9LCImOmhvdmVyIjp7dGV4dERlY29yYXRpb246InVuZGVybGluZSAiK2x9LCImIGRpdjpsYXN0LWNoaWxkIjp7bWFyZ2luTGVmdDoiNHB4ICIrbH0sIiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ud2ViPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5uPy53ZWI/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rLCJAbW9iaWxlIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2wsIiYgc3ZnIjp7ZmlsbDpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sLi4uZT8ubW9iaWxlPy5jYXRlZ29yaWVzPy50YWdDbGVhbkNhY2hlTGluaywuLi5uPy5tb2JpbGU/LmNhdGVnb3JpZXM/LnRhZ0NsZWFuQ2FjaGVMaW5rfX0pLGNhdGVnb3J5U2VsZWN0b3JJY29uOkIoe2hlaWdodDoiMjhweCAiK2wsd2lkdGg6IjI4cHggIitsLGJvcmRlclJhZGl1czoiNXB4ICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsYm9yZGVyOiIxcHggc29saWQgI0QyRDREQSAiK2wsYmFja2dyb3VuZENvbG9yOiIjZmZmICIrbCwiJjpmb2N1cy12aXNpYmxlIjphJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitsLG91dGxpbmVPZmZzZXQ6IjNweCAiK2x9LCImIHN2ZyI6e2ZpbGw6IiM0RDRFNTMgIitsfSwuLi5lPy53ZWI/LmNhdGVnb3JpZXM/LmNhdGVnb3J5U2VsZWN0b3JJY29uLC4uLm4/LndlYj8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlTZWxlY3Rvckljb24sIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNhdGVnb3JpZXM/LmNhdGVnb3J5U2VsZWN0b3JJY29uLC4uLm4/Lm1vYmlsZT8uY2F0ZWdvcmllcz8uY2F0ZWdvcnlTZWxlY3Rvckljb259fSl9fSkocixjKTtyZXR1cm4gZS4kJHNldD1lPT57ImNvbmZpZyJpbiBlJiZvKDAscj1lLmNvbmZpZyksInRhZ0NhdGVnb3J5SWQiaW4gZSYmbygxLGk9ZS50YWdDYXRlZ29yeUlkKSwiY2F0TmFtZSJpbiBlJiZvKDIsbj1lLmNhdE5hbWUpLCJjYXREZXNjImluIGUmJm8oMyxhPWUuY2F0RGVzYyksImNhdEhlbHBlclRleHQiaW4gZSYmbyg0LHM9ZS5jYXRIZWxwZXJUZXh0KSwicmVxdWlyZWQiaW4gZSYmbyg1LGw9ZS5yZXF1aXJlZCksInN0eWxlcyJpbiBlJiZvKDI2LGM9ZS5zdHlsZXMpfSxbcixpLG4sYSxzLGwscCxnLG0sZixhc3luYygpPT57bHx8KHU9IXUsZCgidG9nZ2xlZENhdCIse2NhdGVnb3J5SWQ6aSx0YWdzOm0ubWFwKGU9PmUuaWQpLHN0YXRlOnV9KSxhd2FpdCBfbygpLHAmJihvKDYscD0hMSksc2V0VGltZW91dChlPT5vKDYscD0hMCksMCkpLG8oOSxmPW0/LmZpbHRlcihlPT5lLmFjY2VwdCk/Lmxlbmd0aCkpfSxoLGIseCx0LHksdyxDLHYsayxJLFMsVCxMLCQsQSxjLGU9PigiRW50ZXIiPT09ZS5rZXl8fCIgIj09PWUua2V5KSYmaCgpLGU9PngoZS5pZCksZT0+YihlKSwoZSx0KT0+KCJFbnRlciI9PT10LmtleXx8IiAiPT09dC5rZXkpJiZiKGUpXX1jbGFzcyBjcyBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxscyxzcyxyLHtjb25maWc6MCx0YWdDYXRlZ29yeUlkOjEsY2F0TmFtZToyLGNhdERlc2M6MyxjYXRIZWxwZXJUZXh0OjQscmVxdWlyZWQ6NSxzdHlsZXM6MjZ9LG51bGwsWy0xLC0xXSl9fWZ1bmN0aW9uIGRzKGUpe2xldCBvLHI7cmV0dXJue2MoKXtvPWIoInN2ZyIpLG1lKHI9YigicGF0aCIpLCJkIiwiTSA3LjcxODc1IDYuMjgxMjUgTCA2LjI4MTI1IDcuNzE4NzUgTCAyMy41NjI1IDI1IEwgNi4yODEyNSA0Mi4yODEyNSBMIDcuNzE4NzUgNDMuNzE4NzUgTCAyNSAyNi40Mzc1IEwgNDIuMjgxMjUgNDMuNzE4NzUgTCA0My43MTg3NSA0Mi4yODEyNSBMIDI2LjQzNzUgMjUgTCA0My43MTg3NSA3LjcxODc1IEwgNDIuMjgxMjUgNi4yODEyNSBMIDI1IDIzLjU2MjUgWiIpLG1lKG8sInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxtZShvLCJ2aWV3Qm94IiwiMCAwIDUwIDUwIiksbWUobywid2lkdGgiLGVbMF0pLG1lKG8sImhlaWdodCIsZVswXSl9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKX0scChlLFt0XSl7MSZ0JiZtZShvLCJ3aWR0aCIsZVswXSksMSZ0JiZtZShvLCJoZWlnaHQiLGVbMF0pfSxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBwcyhlLHQsbyl7bGV0e3NpemU6cj0iNXB4In09dDtyZXR1cm4gZS4kJHNldD1lPT57InNpemUiaW4gZSYmbygwLHI9ZS5zaXplKX0sW3JdfWNsYXNzIHVzIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLHBzLGRzLHIse3NpemU6MH0pfX1mdW5jdGlvbiBncyhlKXtsZXQgbyxyPWVbMF0/LnRleHRzPy5ib2R5VGV4dHM/LmFkb3B0VGV4dCsiIixpLG4sYSxzLGw7cmV0dXJue2MoKXtvPWRlKCJzbWFsbCIpLGk9cGUociksbj11ZSgpLGE9ZGUoImEiKSxzPXBlKCJBZE9wdCIpLG1lKGEsInRhYmluZGV4IiwiMCIpLG1lKGEsImhyZWYiLGw9WHQoZVswXSwiY3VzdG9taXplIikpLG1lKGEsInJlbCIsIm5vb3BlbmVyIiksbWUoYSwidGFyZ2V0IiwiX2JsYW5rIiksbWUobywiY2xhc3MiLGVbMTVdKCkpfSxtKGUsdCl7bGUoZSxvLHQpLHNlKG8saSksc2UobyxuKSxzZShvLGEpLHNlKGEscyl9LHAoZSx0KXsxJnQmJnIhPT0ocj1lWzBdPy50ZXh0cz8uYm9keVRleHRzPy5hZG9wdFRleHQrIiIpJiZmZShpLHIpLDEmdCYmbCE9PShsPVh0KGVbMF0sImN1c3RvbWl6ZSIpKSYmbWUoYSwiaHJlZiIsbCl9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBtcyhvKXtsZXQgcixpLG4sYSxzPW9bMF0/LnRleHRzPy50aXRsZXM/LnByZWZlcmVuY2UrIiIsbCxqLGMsZCxOLHAsdSxnPShvWzBdPy50ZXh0cz8uc3ViVGl0bGVzPy5wcmVmZXJlbmNlMXx8IiIpKyIiLG0sVixNLHosZixoPShvWzBdPy50ZXh0cz8uc3ViVGl0bGVzPy5wcmVmZXJlbmNlMnx8IiIpKyIiLGIsRix4LFUseSxXLHcsSCxDLEcsdixxLGssSyxJLFEsSixTPVZpPy5bb1swXS5sYW5ndWFnZV0/LmNsZWFuQ29va2llKyIiLFosVCxZLEwsWCwkLEEsRT1vWzBdPy50ZXh0cz8uYnV0dG9ucz8ucmVqZWN0QWxsKyIiLGVlLHRlLFIsTz1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0QWxsKyIiLG9lLHJlLEQsQj1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0Q3VzdG9tKyIiLGllLHQsUCxuZSxhZSxfPShkPW5ldyB1cyh7cHJvcHM6e3NpemU6IjMwIn19KSwoeD1uZXcgY3Moe3Byb3BzOntjb25maWc6b1swXSxzdHlsZXM6b1sxXSx0YWdDYXRlZ29yeUlkOiIxIixjYXROYW1lOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8ubmFtZSxjYXRIZWxwZXJUZXh0Om9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uaGVscGVyVGV4dCxjYXREZXNjOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5yZXF1aXJlZD8uZGVzY3JpcHRpb24scmVxdWlyZWQ6ITB9fSkpLiRvbigidG9nZ2xlZCIsb1szXSkseC4kb24oInRvZ2dsZWRDYXQiLG9bNF0pLCh5PW5ldyBjcyh7cHJvcHM6e2NvbmZpZzpvWzBdLHN0eWxlczpvWzFdLHRhZ0NhdGVnb3J5SWQ6IjIiLGNhdE5hbWU6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8ubmFtZSxjYXREZXNjOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLG9bM10pLHkuJG9uKCJ0b2dnbGVkQ2F0IixvWzRdKSwodz1uZXcgY3Moe3Byb3BzOntjb25maWc6b1swXSxzdHlsZXM6b1sxXSx0YWdDYXRlZ29yeUlkOiIzIixjYXROYW1lOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5zdGF0aXN0aWNzPy5uYW1lLGNhdERlc2M6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/LmRlc2NyaXB0aW9ufX0pKS4kb24oInRvZ2dsZWQiLG9bM10pLHcuJG9uKCJ0b2dnbGVkQ2F0IixvWzRdKSwoQz1uZXcgY3Moe3Byb3BzOntjb25maWc6b1swXSxzdHlsZXM6b1sxXSx0YWdDYXRlZ29yeUlkOiI0IixjYXROYW1lOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8ubmFtZSxjYXREZXNjOm9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5wZXJmb3JtYW5jZT8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsb1szXSksQy4kb24oInRvZ2dsZWRDYXQiLG9bNF0pLCh2PW5ldyBjcyh7cHJvcHM6e2NvbmZpZzpvWzBdLHN0eWxlczpvWzFdLHRhZ0NhdGVnb3J5SWQ6IjUiLGNhdE5hbWU6b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/Lm5hbWUsY2F0RGVzYzpvWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8uZGVzY3JpcHRpb259fSkpLiRvbigidG9nZ2xlZCIsb1szXSksdi4kb24oInRvZ2dsZWRDYXQiLG9bNF0pLEk9bmV3IE1uKHt9KSwhMSE9PW9bMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHkmJmdzKG8pKTtyZXR1cm57Yygpe3I9ZGUoImRpdiIpLGk9ZGUoImRpdiIpLG49ZGUoImRpdiIpLGE9ZGUoImgxIiksbD1wZShzKSxqPXVlKCksYz1kZSgiYnV0dG9uIikseGUoZC4kJC5mcmFnbWVudCksTj11ZSgpLHA9ZGUoImRpdiIpLHU9ZGUoInNwYW4iKSxtPXBlKGcpLFY9dWUoKSxNPWRlKCJiciIpLHo9dWUoKSxmPWRlKCJzdHJvbmciKSxiPXBlKGgpLEY9dWUoKSx4ZSh4LiQkLmZyYWdtZW50KSxVPXVlKCkseGUoeS4kJC5mcmFnbWVudCksVz11ZSgpLHhlKHcuJCQuZnJhZ21lbnQpLEg9dWUoKSx4ZShDLiQkLmZyYWdtZW50KSxHPXVlKCkseGUodi4kJC5mcmFnbWVudCkscT11ZSgpLGs9ZGUoImEiKSxLPWRlKCJkaXYiKSx4ZShJLiQkLmZyYWdtZW50KSxRPXVlKCksSj1kZSgiZGl2IiksWj1wZShTKSxZPXVlKCksTD1kZSgiZGl2IiksXyYmXy5jKCksWD11ZSgpLCQ9ZGUoImRpdiIpLEE9ZGUoImJ1dHRvbiIpLGVlPXBlKEUpLHRlPXVlKCksUj1kZSgiYnV0dG9uIiksb2U9cGUoTykscmU9dWUoKSxEPWRlKCJidXR0b24iKSxpZT1wZShCKSxtZShhLCJjbGFzcyIsb1s5XSgpKSxtZShhLCJpZCIsInByZWZlcmVuY2UtYmFubmVyLXRpdGxlIiksbWUoYywiYXJpYS1sYWJlbCIsInByZWZlcmVuY2UtYmFubmVyLWNsb3NlLWJ1dHRvbiIpLG1lKGMsImNsYXNzIixvWzEwXSgpKSxtZShuLCJjbGFzcyIsb1s4XSgpKSxtZSh1LCJjbGFzcyIsb1sxMl0oKSksbWUoaywidGFyZ2V0IiwiX2JsYW5rIiksbWUoaywidGFiaW5kZXgiLCIwIiksbWUoaywiY2xhc3MiLG9bMTRdKCkpLG1lKGssImhyZWYiLFQ9b1swXT8udXJscz8uY2xlYW5Db29raWVMaW5rPz8iaHR0cHM6Ly9nb2Fkb3B0LmlvL2Jsb2cvYXBhZ2FyLWNvb2tpZXMtY2FjaGUtbmF2ZWdhZG9yLyIpLG1lKHAsImNsYXNzIixvWzExXSgpKSxtZShwLCJpZCIsInByZWZlcmVuY2UtYmFubmVyLWNvbnRlbnQiKSxtZShBLCJjbGFzcyIsb1sxN10oKSksbWUoUiwiaWQiLCJhZG9wdC1hY2NlcHQtYWxsLWJ1dHRvbiIpLG1lKFIsImNsYXNzIixvWzE3XSgpKSxtZShELCJjbGFzcyIsb1sxOF0oKSksbWUoJCwiY2xhc3MiLG9bMTZdKCkpLG1lKEwsImNsYXNzIixvWzEzXSgpKSxtZShpLCJjbGFzcyIsb1s3XSgpKSxtZShyLCJpZCIsInByZWZlcmVuY2UtYmFubmVyIiksbWUociwicm9sZSIsImRpYWxvZyIpLG1lKHIsImFyaWEtbW9kYWwiLCJ0cnVlIiksbWUociwiYXJpYS1sYWJlbGxlZGJ5IiwicHJlZmVyZW5jZS1iYW5uZXItdGl0bGUiKSxtZShyLCJhcmlhLWRlc2NyaWJlZGJ5IiwicHJlZmVyZW5jZS1iYW5uZXItY29udGVudCIpLG1lKHIsImNsYXNzIixvWzZdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpLHNlKGEsbCksc2UobixqKSxzZShuLGMpLHllKGQsYyxudWxsKSxzZShpLE4pLHNlKGkscCksc2UocCx1KSxzZSh1LG0pLHNlKHUsViksc2UodSxNKSxzZSh1LHopLHNlKHUsZiksc2UoZixiKSxzZShwLEYpLHllKHgscCxudWxsKSxzZShwLFUpLHllKHkscCxudWxsKSxzZShwLFcpLHllKHcscCxudWxsKSxzZShwLEgpLHllKEMscCxudWxsKSxzZShwLEcpLHllKHYscCxudWxsKSxzZShwLHEpLHNlKHAsayksc2UoayxLKSx5ZShJLEssbnVsbCksc2UoayxRKSxzZShrLEopLHNlKEosWiksc2UoaSxZKSxzZShpLEwpLF8mJl8ubShMLG51bGwpLHNlKEwsWCksc2UoTCwkKSxzZSgkLEEpLHNlKEEsZWUpLHNlKCQsdGUpLHNlKCQsUiksc2UoUixvZSksc2UoJCxyZSksc2UoJCxEKSxzZShELGllKSxQPSEwLG5lfHwoYWU9W2dlKGMsImNsaWNrIixvWzE5XSksZ2UoQSwiY2xpY2siLG9bMjBdKSxnZShSLCJjbGljayIsb1syMV0pLGdlKEQsImNsaWNrIixvWzVdKSxnZShpLCJjbGljayIsaG8oZnMpKV0sbmU9ITApfSxwKGUsW3RdKXtvPWUsKCFQfHwxJnQpJiZzIT09KHM9b1swXT8udGV4dHM/LnRpdGxlcz8ucHJlZmVyZW5jZSsiIikmJmZlKGwscyksKCFQfHwxJnQpJiZnIT09KGc9KG9bMF0/LnRleHRzPy5zdWJUaXRsZXM/LnByZWZlcmVuY2UxfHwiIikrIiIpJiZmZShtLGcpLCghUHx8MSZ0KSYmaCE9PShoPShvWzBdPy50ZXh0cz8uc3ViVGl0bGVzPy5wcmVmZXJlbmNlMnx8IiIpKyIiKSYmZmUoYixoKTtlPXt9LDEmdCYmKGUuY29uZmlnPW9bMF0pLDImdCYmKGUuc3R5bGVzPW9bMV0pLDEmdCYmKGUuY2F0TmFtZT1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucmVxdWlyZWQ/Lm5hbWUpLDEmdCYmKGUuY2F0SGVscGVyVGV4dD1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucmVxdWlyZWQ/LmhlbHBlclRleHQpLDEmdCYmKGUuY2F0RGVzYz1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucmVxdWlyZWQ/LmRlc2NyaXB0aW9uKSx4LiRzZXQoZSksZT17fSwxJnQmJihlLmNvbmZpZz1vWzBdKSwyJnQmJihlLnN0eWxlcz1vWzFdKSwxJnQmJihlLmNhdE5hbWU9b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/Lm1hcmtldGluZz8ubmFtZSksMSZ0JiYoZS5jYXREZXNjPW9bMF0/LnRleHRzPy5jYXRlZ29yaWVzPy5tYXJrZXRpbmc/LmRlc2NyaXB0aW9uKSx5LiRzZXQoZSksZT17fSwxJnQmJihlLmNvbmZpZz1vWzBdKSwyJnQmJihlLnN0eWxlcz1vWzFdKSwxJnQmJihlLmNhdE5hbWU9b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LnN0YXRpc3RpY3M/Lm5hbWUpLDEmdCYmKGUuY2F0RGVzYz1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uc3RhdGlzdGljcz8uZGVzY3JpcHRpb24pLHcuJHNldChlKSxlPXt9LDEmdCYmKGUuY29uZmlnPW9bMF0pLDImdCYmKGUuc3R5bGVzPW9bMV0pLDEmdCYmKGUuY2F0TmFtZT1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/Lm5hbWUpLDEmdCYmKGUuY2F0RGVzYz1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8ucGVyZm9ybWFuY2U/LmRlc2NyaXB0aW9uKSxDLiRzZXQoZSksZT17fTsxJnQmJihlLmNvbmZpZz1vWzBdKSwyJnQmJihlLnN0eWxlcz1vWzFdKSwxJnQmJihlLmNhdE5hbWU9b1swXT8udGV4dHM/LmNhdGVnb3JpZXM/LmZ1bmN0aW9uYWw/Lm5hbWUpLDEmdCYmKGUuY2F0RGVzYz1vWzBdPy50ZXh0cz8uY2F0ZWdvcmllcz8uZnVuY3Rpb25hbD8uZGVzY3JpcHRpb24pLHYuJHNldChlKSwoIVB8fDEmdCkmJlMhPT0oUz1WaT8uW29bMF0ubGFuZ3VhZ2VdPy5jbGVhbkNvb2tpZSsiIikmJmZlKFosUyksKCFQfHwxJnQmJlQhPT0oVD1vWzBdPy51cmxzPy5jbGVhbkNvb2tpZUxpbms/PyJodHRwczovL2dvYWRvcHQuaW8vYmxvZy9hcGFnYXItY29va2llcy1jYWNoZS1uYXZlZ2Fkb3IvIikpJiZtZShrLCJocmVmIixUKSwhMSE9PW9bMF0/LndoaXRlbGFiZWw/LnZpc2liaWxpdHk/Xz9fLnAobyx0KTooKF89Z3MobykpLmMoKSxfLm0oTCxYKSk6XyYmKF8uZCgxKSxfPW51bGwpLCghUHx8MSZ0KSYmRSE9PShFPW9bMF0/LnRleHRzPy5idXR0b25zPy5yZWplY3RBbGwrIiIpJiZmZShlZSxFKSwoIVB8fDEmdCkmJk8hPT0oTz1vWzBdPy50ZXh0cz8uYnV0dG9ucz8uYWNjZXB0QWxsKyIiKSYmZmUob2UsTyksKCFQfHwxJnQpJiZCIT09KEI9b1swXT8udGV4dHM/LmJ1dHRvbnM/LmFjY2VwdEN1c3RvbSsiIikmJmZlKGllLEIpfSxpKGUpe1B8fChoZShkLiQkLmZyYWdtZW50LGUpLGhlKHguJCQuZnJhZ21lbnQsZSksaGUoeS4kJC5mcmFnbWVudCxlKSxoZSh3LiQkLmZyYWdtZW50LGUpLGhlKEMuJCQuZnJhZ21lbnQsZSksaGUodi4kJC5mcmFnbWVudCxlKSxoZShJLiQkLmZyYWdtZW50LGUpLGpvKCgpPT57UCYmKHQ9dHx8R28oaSxycix7ZHVyYXRpb246ITEhPT1vWzBdPy5kaXNjbGFpbWVyT3B0aW9ucz8uZGlzY2xhaW1lckFuaW1hdGlvbnM/MTUwOjB9LCEwKSkucnVuKDEpfSksUD0hMCl9LG8oZSl7YmUoZC4kJC5mcmFnbWVudCxlKSxiZSh4LiQkLmZyYWdtZW50LGUpLGJlKHkuJCQuZnJhZ21lbnQsZSksYmUody4kJC5mcmFnbWVudCxlKSxiZShDLiQkLmZyYWdtZW50LGUpLGJlKHYuJCQuZnJhZ21lbnQsZSksYmUoSS4kJC5mcmFnbWVudCxlKSwodD10fHxHbyhpLHJyLHtkdXJhdGlvbjohMSE9PW9bMF0/LmRpc2NsYWltZXJPcHRpb25zPy5kaXNjbGFpbWVyQW5pbWF0aW9ucz8xNTA6MH0sITEpKS5ydW4oMCksUD0hMX0sZChlKXtlJiZjZShyKSx3ZShkKSx3ZSh4KSx3ZSh5KSx3ZSh3KSx3ZShDKSx3ZSh2KSx3ZShJKSxfJiZfLmQoKSxlJiZ0JiZ0LmVuZCgpLG5lPSExLHJvKGFlKX19fWxldCBmcz0oKT0+e307ZnVuY3Rpb24gaHMoZSx0LHIpe2xldCBpPXQuY29uZmlnLG89dC5zdHlsZXMsbixhLHMsbD1lPT57IlRhYiI9PT1lLmtleSYmKGUuc2hpZnRLZXk/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PW4mJihlLnByZXZlbnREZWZhdWx0KCksYS5mb2N1cygpKTpkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSYmKGUucHJldmVudERlZmF1bHQoKSxuLmZvY3VzKCkpKX0sYz1lPT57IkVzY2FwZSI9PT1lLmtleSYmInByZWZlcmVuY2VzIj09PU0uUHJlZmVyZW5jZXMmJmQoImdvIix7c3RhdHVzOk0uQ2FyZH0pfTtsZXQgZD0kbygpO1RvKCgpPT57dmFyIGU7aT8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJlZmVyZW5jZS1iYW5uZXIiKS5mb2N1cygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixjKSxlPSJwcmVmZXJlbmNlLWJhbm5lciIsZT0ocz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSkucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJyksbj1lWzBdLGE9ZVtlLmxlbmd0aC0xXSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGwpKX0pLExvKCgpPT57aT8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJihzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGwpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixjKSl9KTt2YXJ7cHJlZmVyZW5jZUNhcmRQYW5lbE92ZXJsYXk6dCxwcmVmZXJlbmNlQ2FyZFBhbmVsOnAscHJlZmVyZW5jZUNhcmRUaXRsZUNvbnRhaW5lcjp1LHByZWZlcmVuY2VDYXJkVGl0bGU6ZyxwcmVmZXJlbmNlQ2FyZENsb3NlUGFuZWw6bSxwcmVmZXJlbmNlQ2FyZFRhZ0NhdGVnb3JpZXM6ZixwcmVmZXJlbmNlQ2FyZFRhZ0NhdGVnb3JpZXNEZXNjcmlwdGlvbjpoLHByZWZlcmVuY2VDYXJkRm9vdGVyOmIsYWx0ZXJuYXRpdmVDbGVhbkNhY2hlTGluazp4LHByZWZlcmVuY2VDYXJkU21hbGxUZXh0Rm9vdGVyOnkscHJlZmVyZW5jZUNhcmRCdXR0b25zQ29udGFpbmVyOncscHJlZmVyZW5jZUNhcmRSZWplY3RCdXR0b246QyxwcmVmZXJlbmNlQ2FyZEFjY2VwdEJ1dHRvbjp2fT0oKGUsdCk9Pnt2YXJ7Y29sb3JzOm8sZGlzY2xhaW1lck9wdGlvbnM6cn09ZSx7c3R5bGVzOmUsaGFzSW1wb3J0YW50Oml9PWUuc3R5bGVzPz97fSx7dGhlbWU6dD0ibGlnaHQiLHN0eWxlczpuLGhhc0ltcG9ydGFudDphLGNvbG9yczpzfT10O2xldCBsPXZvaWQgMD09PWF8fGE/dm9pZCAwPT09aXx8aT8iIWltcG9ydGFudCI6IiI6IiI7dmFyIGE9cj8uYWNjZXNzaWJpbGl0eSxpPSIhaW1wb3J0YW50Ij09PWw/InVuc2V0ICFpbXBvcnRhbnQiOiIiLHI9e2N1cnNvcjoicG9pbnRlciAiK2wsdGV4dERlY29yYXRpb246Im5vbmUgIitsLGZvbnRXZWlnaHQ6Im5vcm1hbCAiK2wsdGV4dEFsaWduOiJjZW50ZXIgIitsLHdoaXRlU3BhY2U6Im5vd3JhcCAiK2wsZm9udFNpemU6IjE2cHggIitsLGxpbmVIZWlnaHQ6IjIwcHggIitsLHBhZGRpbmc6IjEwcHggMTVweCAiK2wsYm9yZGVyUmFkaXVzOiIzcHggIitsLHpJbmRleDoiMHB4ICIrbCxiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCAiK2wsdHJhbnNpdGlvbjoiYWxsIDAuMnMgZWFzZS1pbi1vdXQgIitsfSxjPUIoe2FsbDppLHBvc2l0aW9uOiJmaXhlZCAiK2wsdG9wOiIwICIrbCxsZWZ0OiIwICIrbCx3aWR0aDoiMTAwJSAiK2wsaGVpZ2h0OiIxMDAlICIrbCxiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMCwgMCwgMCwgMC44KSAiK2wsekluZGV4OiI5OTk5OTk5OSAiK2wsZGlzcGxheToiZ3JpZCAiK2wscGxhY2VJdGVtczoiY2VudGVyICIrbCwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbE92ZXJsYXksLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWxPdmVybGF5LCJAbW9iaWxlIjp7Li4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucGFuZWxPdmVybGF5LC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsT3ZlcmxheX19KSxkPUIoe2FsbDppLGZvbnRTaXplOiIkdGV4dCAiK2wsd2lkdGg6Ijc3MHB4ICIrbCxoZWlnaHQ6IjkwdmggIitsLG1heEhlaWdodDoiNjY0cHggIitsLGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IjEwcHggIitsLGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiIxMHB4ICIrbCxib3hTaXppbmc6ImJvcmRlci1ib3ggIitsLGRpc3BsYXk6ImZsZXggIitsLGZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2wsekluZGV4OiI5OTk5OTk5OTkyICIrbCx1c2VyU2VsZWN0OiJub25lICIrbCxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIrbCxiYWNrZ3JvdW5kOiIjZmZmICIrbCxib3JkZXJUb3A6YDRweCBzb2xpZCAke0QoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpfSBgK2wsIiYgZGl2Ijp7IiY6Oi13ZWJraXQtc2Nyb2xsYmFyIjp7d2lkdGg6IjhweCAiK2wsYm9yZGVyUmFkaXVzOiI1cHggIitsfSwiJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2siOntib3hTaGFkb3c6Imluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpICIrbCxib3JkZXJSYWRpdXM6IjVweCAiK2x9LCImOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiI6e2JhY2tncm91bmRDb2xvcjoicmdiYSgwLCAwLCAwLCAwLjIpICIrbCxib3JkZXJSYWRpdXM6IjVweCAiK2x9fSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbCwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5wYW5lbCwiQG1vYmlsZSI6e3dpZHRoOiIzMjlweCAiK2wsaGVpZ2h0OiI1ODBweCAiK2wsYm9yZGVyVG9wOmA1cHggc29saWQgJHtEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKX0gYCtsLC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnBhbmVsfSwiQHRhYmxldCI6e3dpZHRoOiI5NSUgIitsfX0pLHA9Qih7YWxsOmkscGFkZGluZzoiMzBweCA1MHB4ICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiAiK2wsYWxpZ25JdGVtczoiY2VudGVyICIrbCxib3JkZXJCb3R0b206IjFweCBzb2xpZCAjZjRmNGY2ICIrbCwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50aXRsZUNvbnRhaW5lciwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50aXRsZUNvbnRhaW5lciwiQG1vYmlsZSI6e3BhZGRpbmc6IjMwcHggMjBweCAiK2wsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGVDb250YWluZXIsLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGVDb250YWluZXJ9fSksdT1CKHthbGw6aSxtYXJnaW46IjAgIitsLGZvbnRTaXplOiIkYmlnVGl0bGUgIitsLGZvbnRXZWlnaHQ6IjMwMCAiK2wsbGluZUhlaWdodDoiMzRweCAiK2wsdGV4dEFsaWduOiJsZWZ0ICIrbCxjb2xvcjoiIzRENEU1MyAiK2wsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGUsLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGl0bGUsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZSwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50aXRsZX19KSxnPUIoe2FsbDppLGJveFNpemluZzoiYm9yZGVyLWJveCAiK2wsY3Vyc29yOiJwb2ludGVyICIrbCxkaXNwbGF5OiJmbGV4ICIrbCxhbGlnbkl0ZW1zOiJjZW50ZXIgIitsLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH0sIiYgc3ZnIjp7ZmlsbDoiI0QyRDREQSAiK2x9LCImOmhvdmVyIjp7IiYgc3ZnIjp7ZmlsbDpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH19LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmNsb3NlUGFuZWwsLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbCwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmNsb3NlUGFuZWwsLi4ubj8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2xvc2VQYW5lbH19KSxtPUIoe2FsbDppLGhlaWdodDoiNDY4cHggIitsLGZsZXhHcm93OiIxICIrbCxvdmVyZmxvd1k6ImF1dG8gIitsLHRleHRBbGlnbjoibGVmdCAiK2wsZmxleERpcmVjdGlvbjoiY29sdW1uICIrbCxiYWNrZ3JvdW5kQ29sb3I6IiNGNkY2RjggIitsLHBhZGRpbmc6IjMwcHggNTBweCAiK2wsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllcywuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzLCJAbW9iaWxlIjp7cGFkZGluZzoiMzBweCAyMHB4ICIrbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXN9fSksZj1CKHtmb250U2l6ZToiMTZweCAiK2wsZm9udFdlaWdodDoiMzAwICIrbCxsaW5lSGVpZ2h0OiIyMXB4ICIrbCxjb2xvcjoiIzRENEU1MyAiK2wsLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8udGFnQ2F0ZWdvcmllc0Rlc2NyaXB0aW9uLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXNEZXNjcmlwdGlvbiwiQG1vYmlsZSI6ey4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnRhZ0NhdGVnb3JpZXNEZXNjcmlwdGlvbiwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy50YWdDYXRlZ29yaWVzRGVzY3JpcHRpb259fSksaD1CKHthbGw6aSxtYXJnaW46IjIwcHggMCA1cHggMCAiK2wsdGV4dERlY29yYXRpb246Im5vbmUgIitsLGN1cnNvcjoicG9pbnRlciAiK2wsZGlzcGxheToibm9uZSAiK2wsZ2FwOiIycHggIitsLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH0sIiY6aG92ZXIiOnt0ZXh0RGVjb3JhdGlvbjoidW5kZXJsaW5lICIrbH0sIiYgZGl2Omxhc3QtY2hpbGQiOnttYXJnaW5MZWZ0OiI0cHggIitsfSwiJiBzdmciOntmaWxsOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmssIkBtb2JpbGUiOntjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCwiJiBzdmciOntmaWxsOkQoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsfSwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5hbHRlcm5hdGl2ZVRhZ0NsZWFuQ2FjaGVMaW5rLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmFsdGVybmF0aXZlVGFnQ2xlYW5DYWNoZUxpbmt9fSk7cmV0dXJue3ByZWZlcmVuY2VDYXJkUGFuZWxPdmVybGF5OmMscHJlZmVyZW5jZUNhcmRQYW5lbDpkLHByZWZlcmVuY2VDYXJkVGl0bGVDb250YWluZXI6cCxwcmVmZXJlbmNlQ2FyZFRpdGxlOnUscHJlZmVyZW5jZUNhcmRDbG9zZVBhbmVsOmcscHJlZmVyZW5jZUNhcmRUYWdDYXRlZ29yaWVzOm0scHJlZmVyZW5jZUNhcmRUYWdDYXRlZ29yaWVzRGVzY3JpcHRpb246ZixwcmVmZXJlbmNlQ2FyZEZvb3RlcjpCKHthbGw6aSxwYWRkaW5nOiIzMHB4IDUwcHggIitsLHRleHRBbGlnbjoiY2VudGVyICIrbCxmbGV4RGlyZWN0aW9uOiJjb2x1bW4gIitsLGJvcmRlclRvcDoiMXB4IHNvbGlkICNmNGY0ZjYgIitsLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmNhcmRGb290ZXIsLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uY2FyZEZvb3RlciwiQG1vYmlsZSI6e3BhZGRpbmc6IjMwcHggMjBweCAiK2wsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uY2FyZEZvb3RlciwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5jYXJkRm9vdGVyfX0pLGFsdGVybmF0aXZlQ2xlYW5DYWNoZUxpbms6aCxwcmVmZXJlbmNlQ2FyZFNtYWxsVGV4dEZvb3RlcjpCKHthbGw6aSxmb250U2l6ZToiMTZweCAiK2wsY29sb3I6IiM0RDRFNTMgIitsLCImIGEiOnthbGw6aSxjdXJzb3I6InBvaW50ZXIgIitsLGNvbG9yOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKyIgIitsLCImOmZvY3VzLXZpc2libGUiOmEmJntvdXRsaW5lOiIycHggc29saWQgYmx1ZSAiK2wsb3V0bGluZU9mZnNldDoiM3B4ICIrbH19LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5zbWFsbFRleHRGb290ZXIsIkBtb2JpbGUiOnsiJiBhIjp7Y29sb3I6RChPLm1vYmlsZSxSLnByaW1hcnlDb2xvcix0LG8scykrIiAiK2x9LC4uLmU/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnNtYWxsVGV4dEZvb3RlciwuLi5uPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5zbWFsbFRleHRGb290ZXJ9fSkscHJlZmVyZW5jZUNhcmRCdXR0b25zQ29udGFpbmVyOkIoe2FsbDppLGRpc3BsYXk6ImZsZXggIitsLGFsaWduSXRlbXM6ImNlbnRlciAiK2wsanVzdGlmeUNvbnRlbnQ6ImVuZCAiK2wsZ2FwOiIzMHB4ICIrbCxtYXJnaW5Ub3A6IjEwcHggIitsLC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXIsLi4ubj8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8uYnV0dG9uc0NvbnRhaW5lciwiQG1vYmlsZSI6e2ZsZXhEaXJlY3Rpb246ImNvbHVtbiAiK2wsZ2FwOiIyMHB4ICIrbCwuLi5lPy5tb2JpbGU/LnByZWZlcmVuY2VDYXJkPy5idXR0b25zQ29udGFpbmVyLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmJ1dHRvbnNDb250YWluZXJ9fSkscHJlZmVyZW5jZUNhcmRSZWplY3RCdXR0b246Qih7YWxsOmksLi4ucixjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCxib3JkZXI6YDFweCBzb2xpZCAke0QoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpfSBgK2wsIiY6Zm9jdXMtdmlzaWJsZSI6YSYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIrbCxvdXRsaW5lT2Zmc2V0OiIzcHggIitsfSwiJjpob3ZlciI6e2NvbG9yOkQoTy53ZWIsUi50ZXh0Q29sb3IsdCxvLHMpKyIgIitsLGJhY2tncm91bmRDb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbH0sIiY6OmFmdGVyIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrbCx3aWR0aDoiYXV0byAiK2wsb3BhY2l0eToiMCAiK2x9LCImOjpiZWZvcmUiOntjb250ZW50OiJub25lIixoZWlnaHQ6ImF1dG8gIitsLHdpZHRoOiJhdXRvICIrbCxvcGFjaXR5OiIwICIrbH0sLi4uZT8ud2ViPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9uLC4uLm4/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LnJlamVjdEJ1dHRvbiwiQG1vYmlsZSI6e3dpZHRoOiIxMDAlICIrbCxjb2xvcjpEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSsiICIrbCxib3JkZXI6YDFweCBzb2xpZCAke0QoTy5tb2JpbGUsUi5wcmltYXJ5Q29sb3IsdCxvLHMpfSBgK2wsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8ucmVqZWN0QnV0dG9uLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LnJlamVjdEJ1dHRvbn19KSxwcmVmZXJlbmNlQ2FyZEFjY2VwdEJ1dHRvbjpCKHthbGw6aSwuLi5yLGJvcmRlcjoiMXB4IHNvbGlkIHRyYW5zcGFyZW50ICIrbCxjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsbyxzKSsiICIrbCxiYWNrZ3JvdW5kOkp0KCJib3R0b20iLEQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxvLHMpKSsiICIrbCwiJjpmb2N1cy12aXNpYmxlIjphJiZ7b3V0bGluZToiMnB4IHNvbGlkIGJsdWUgIitsLG91dGxpbmVPZmZzZXQ6IjNweCAiK2x9LCImOjphZnRlciI6e2NvbnRlbnQ6Im5vbmUiLGhlaWdodDoiYXV0byAiK2wsd2lkdGg6ImF1dG8gIitsLG9wYWNpdHk6IjAgIitsfSwiJjo6YmVmb3JlIjp7Y29udGVudDoibm9uZSIsaGVpZ2h0OiJhdXRvICIrbCx3aWR0aDoiYXV0byAiK2wsb3BhY2l0eToiMCAiK2x9LC4uLmU/LndlYj8ucHJlZmVyZW5jZUNhcmQ/LmFjY2VwdEJ1dHRvbiwuLi5uPy53ZWI/LnByZWZlcmVuY2VDYXJkPy5hY2NlcHRCdXR0b24sIkBtb2JpbGUiOnt3aWR0aDoiMTAwJSAiK2wsY29sb3I6RChPLm1vYmlsZSxSLnRleHRDb2xvcix0LG8scykrIiAiK2wsYmFja2dyb3VuZDpKdCgiYm90dG9tIixEKE8ubW9iaWxlLFIucHJpbWFyeUNvbG9yLHQsbyxzKSkrIiAiK2wsLi4uZT8ubW9iaWxlPy5wcmVmZXJlbmNlQ2FyZD8uYWNjZXB0QnV0dG9uLC4uLm4/Lm1vYmlsZT8ucHJlZmVyZW5jZUNhcmQ/LmFjY2VwdEJ1dHRvbn19KX19KShpLG8pO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJnIoMCxpPWUuY29uZmlnKSwic3R5bGVzImluIGUmJnIoMSxvPWUuc3R5bGVzKX0sW2ksbyxkLGFzeW5jIHQ9Pnt2YXIgZT1pLnRhZ3MuZmluZChlPT5lLmlkPT09dC5kZXRhaWwpLGU9KGkudGFncy5maW5kKGU9PmUuaWQ9PT10LmRldGFpbCkuYWNjZXB0PSFlLmFjY2VwdCxpKTtyKDAsaT17Li4uZX0pfSxhc3luYyBvPT57by5kZXRhaWwudGFncy5mb3JFYWNoKHQ9PntpLnRhZ3MuZmluZChlPT5lLmlkPT09dCkuYWNjZXB0PW8uZGV0YWlsLnN0YXRlfSksaS50YWdzLm1hcChlPT5lLmlkPT09by5kZXRhaWwpO3ZhciBlPWk7cigwLGk9ey4uLmV9KSxhd2FpdCBfbygpfSwoKT0+e2QoImdvIix7c3RhdHVzOk0uQ2xvc2VkLGV2ZW50OnouQWNjZXB0U29tZSx1cGRhdGVDb25zZW50OiEwfSl9LHQscCx1LGcsbSxmLGgsYix4LHksdyxDLHYsKCk9PmQoImdvIix7c3RhdHVzOk0uQ2FyZH0pLCgpPT5kKCJnbyIse3N0YXR1czpNLkNsb3NlZCxldmVudDp6LlJlamVjdEFsbCx1cGRhdGVDb25zZW50OiEwfSksKCk9PmQoImdvIix7c3RhdHVzOk0uQ2xvc2VkLGV2ZW50OnouQWNjZXB0QWxsLHVwZGF0ZUNvbnNlbnQ6ITB9KV19Y2xhc3MgYnMgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsaHMsbXMscix7Y29uZmlnOjAsc3R5bGVzOjF9KX19ZnVuY3Rpb24geHMoZSx0LG8pe2U9ZS5zbGljZSgpO3JldHVybiBlWzE3XT10W29dLGV9ZnVuY3Rpb24geXMobyl7bGV0IHIsaSxuLGU9b1szXS50aXRsZSsiIixhLHMsbCxjLGQscD1vWzBdLnRleHRzPy5tb2RhbHM/LmNsb3NlQnV0dG9uKyIiLHUsZyxtLGY9b1szXS5jb250ZW50RGF0YSxoPVtdO2ZvcihsZXQgZT0wO2U8Zi5sZW5ndGg7ZSs9MSloW2VdPUFzKHhzKG8sZixlKSk7cmV0dXJue2MoKXtyPWRlKCJkaXYiKSxpPWRlKCJkaXYiKSxuPWRlKCJkaXYiKSxhPXBlKGUpLHM9dWUoKSxsPWRlKCJkaXYiKTtmb3IobGV0IGU9MDtlPGgubGVuZ3RoO2UrPTEpaFtlXS5jKCk7Yz11ZSgpLGQ9ZGUoImJ1dHRvbiIpLHU9cGUocCksbWUobiwiY2xhc3MiLG9bOF0oKSksbWUobiwiaWQiLCJ0Y2YtbW9kYWwtdGl0bGUiKSxtZShsLCJjbGFzcyIsb1s2XSgpKSxtZShsLCJpZCIsInRjZi1tb2RhbC1jb250ZW50IiksbWUoZCwiY2xhc3MiLG9bOV0oKSksbWUoaSwiY2xhc3MiLG9bN10oKSksbWUociwiaWQiLCJ0Y2YtbW9kYWwiKSxtZShyLCJyb2xlIiwiZGlhbG9nIiksbWUociwiYXJpYS1tb2RhbCIsInRydWUiKSxtZShyLCJhcmlhLWxhYmVsbGVkYnkiLCJ0Y2YtbW9kYWwtdGl0bGUiKSxtZShyLCJhcmlhLWRlc2NyaWJlZGJ5IiwidGNmLW1vZGFsLWNvbnRlbnQiKSxtZShyLCJ0YWJpbmRleCIsLTEpLG1lKHIsImNsYXNzIixvWzVdKCkpfSxtKGUsdCl7bGUoZSxyLHQpLHNlKHIsaSksc2UoaSxuKSxzZShuLGEpLHNlKGkscyksc2UoaSxsKTtmb3IobGV0IGU9MDtlPGgubGVuZ3RoO2UrPTEpaFtlXSYmaFtlXS5tKGwsbnVsbCk7c2UoaSxjKSxzZShpLGQpLHNlKGQsdSksZ3x8KG09Z2UoZCwiY2xpY2siLG9bMTBdKSxnPSEwKX0scCh0LG8pe2lmKDgmbyYmZSE9PShlPXRbM10udGl0bGUrIiIpJiZmZShhLGUpLDgmbyl7Zj10WzNdLmNvbnRlbnREYXRhO2xldCBlO2ZvcihlPTA7ZTxmLmxlbmd0aDtlKz0xKXt2YXIgcj14cyh0LGYsZSk7aFtlXT9oW2VdLnAocixvKTooaFtlXT1BcyhyKSxoW2VdLmMoKSxoW2VdLm0obCxudWxsKSl9Zm9yKDtlPGgubGVuZ3RoO2UrPTEpaFtlXS5kKDEpO2gubGVuZ3RoPWYubGVuZ3RofTEmbyYmcCE9PShwPXRbMF0udGV4dHM/Lm1vZGFscz8uY2xvc2VCdXR0b24rIiIpJiZmZSh1LHApfSxkKGUpe2UmJmNlKHIpLG1vKGgsZSksZz0hMSxtKCl9fX1mdW5jdGlvbiB3cyhlKXtsZXQgbztyZXR1cm57Yygpe289ZGUoImhyIil9LG0oZSx0KXtsZShlLG8sdCl9LHA6aCxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gQ3MoZSl7bGV0IG8scixpPWVbMTddLmNvbnRlbnQrIiIsbixhLHM9ZVsxN10uYm9sZFRleHQmJkxzKGUpO3JldHVybntjKCl7bz1kZSgibGkiKSxzJiZzLmMoKSxyPXVlKCksbj1wZShpKSxhPXVlKCkseChvLCJwYWRkaW5nLWxlZnQiLCIxNXB4Iil9LG0oZSx0KXtsZShlLG8sdCkscyYmcy5tKG8sbnVsbCksc2UobyxyKSxzZShvLG4pLHNlKG8sYSl9LHAoZSx0KXtlWzE3XS5ib2xkVGV4dD9zP3MucChlLHQpOigocz1McyhlKSkuYygpLHMubShvLHIpKTpzJiYocy5kKDEpLHM9bnVsbCksOCZ0JiZpIT09KGk9ZVsxN10uY29udGVudCsiIikmJmZlKG4saSl9LGQoZSl7ZSYmY2UobykscyYmcy5kKCl9fX1mdW5jdGlvbiB2cyhlKXtsZXQgbyxyPWVbMTddLmNvbnRlbnQrIiIsaTtyZXR1cm57Yygpe289ZGUoImgyIiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7OCZ0JiZyIT09KHI9ZVsxN10uY29udGVudCsiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBrcyhlKXtsZXQgbyxyPWVbMTddLmNvbnRlbnQrIiIsaTtyZXR1cm57Yygpe289ZGUoImgxIiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7OCZ0JiZyIT09KHI9ZVsxN10uY29udGVudCsiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBJcyhlKXtsZXQgbyxyLGk9ZVsxN10uY29udGVudCsiIixuLGEscz1lWzE3XS5ib2xkVGV4dCYmJHMoZSk7cmV0dXJue2MoKXtvPWRlKCJsaSIpLHMmJnMuYygpLHI9dWUoKSxuPXBlKGkpLGE9dWUoKX0sbShlLHQpe2xlKGUsbyx0KSxzJiZzLm0obyxudWxsKSxzZShvLHIpLHNlKG8sbiksc2UobyxhKX0scChlLHQpe2VbMTddLmJvbGRUZXh0P3M/cy5wKGUsdCk6KChzPSRzKGUpKS5jKCkscy5tKG8scikpOnMmJihzLmQoMSkscz1udWxsKSw4JnQmJmkhPT0oaT1lWzE3XS5jb250ZW50KyIiKSYmZmUobixpKX0sZChlKXtlJiZjZShvKSxzJiZzLmQoKX19fWZ1bmN0aW9uIFNzKGUpe2xldCBvLHIsaT1lWzE3XS5jb250ZW50KyIiLG4sYTtyZXR1cm57Yygpe289ZGUoImRpdiIpLHI9ZGUoImEiKSxuPXBlKGkpLG1lKHIsImhyZWYiLGE9ZVsxN10uaHJlZil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxyKSxzZShyLG4pfSxwKGUsdCl7OCZ0JiZpIT09KGk9ZVsxN10uY29udGVudCsiIikmJmZlKG4saSksOCZ0JiZhIT09KGE9ZVsxN10uaHJlZikmJm1lKHIsImhyZWYiLGEpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gVHMoZSl7bGV0IG8scj1lWzE3XS5jb250ZW50KyIiLGk7cmV0dXJue2MoKXtvPWRlKCJwIiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7OCZ0JiZyIT09KHI9ZVsxN10uY29udGVudCsiIikmJmZlKGkscil9LGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBMcyhlKXtsZXQgbyxyPWVbMTddLmJvbGRUZXh0KyIiLGk7cmV0dXJue2MoKXtvPWRlKCJiIiksaT1wZShyKX0sbShlLHQpe2xlKGUsbyx0KSxzZShvLGkpfSxwKGUsdCl7OCZ0JiZyIT09KHI9ZVsxN10uYm9sZFRleHQrIiIpJiZmZShpLHIpfSxkKGUpe2UmJmNlKG8pfX19ZnVuY3Rpb24gJHMoZSl7bGV0IG8scj1lWzE3XS5ib2xkVGV4dCsiIixpO3JldHVybntjKCl7bz1kZSgiYiIpLGk9cGUocil9LG0oZSx0KXtsZShlLG8sdCksc2UobyxpKX0scChlLHQpezgmdCYmciE9PShyPWVbMTddLmJvbGRUZXh0KyIiKSYmZmUoaSxyKX0sZChlKXtlJiZjZShvKX19fWZ1bmN0aW9uIEFzKGUpe2xldCBvO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIlBBUkFHUkFQSCI9PT1lWzE3XS50eXBlP1RzOiJMSU5LIj09PWVbMTddLnR5cGU/U3M6IkxJU1QiPT09ZVsxN10udHlwZT9JczoiVElUTEUiPT09ZVsxN10udHlwZT9rczoiU01BTExfVElUTEUiPT09ZVsxN10udHlwZT92czoiSU5TSURFX0xJU1QiPT09ZVsxN10udHlwZT9DczoiRElWSURFUiI9PT1lWzE3XS50eXBlP3dzOnZvaWQgMH1sZXQgaT1yKGUpLG49aSYmaShlKTtyZXR1cm57Yygpe24mJm4uYygpLG89Zm8oKX0sbShlLHQpe24mJm4ubShlLHQpLGxlKGUsbyx0KX0scChlLHQpe2k9PT0oaT1yKGUpKSYmbj9uLnAoZSx0KToobiYmbi5kKDEpLChuPWkmJmkoZSkpJiYobi5jKCksbi5tKG8ucGFyZW50Tm9kZSxvKSkpfSxkKGUpe24mJm4uZChlKSxlJiZjZShvKX19fWZ1bmN0aW9uIEVzKGUpe2xldCBvLHI9ZVsyXSYmZVswXSYmZVsxXSYmeXMoZSk7cmV0dXJue2MoKXtyJiZyLmMoKSxvPWZvKCl9LG0oZSx0KXtyJiZyLm0oZSx0KSxsZShlLG8sdCl9LHAoZSxbdF0pe2VbMl0mJmVbMF0mJmVbMV0/cj9yLnAoZSx0KTooKHI9eXMoZSkpLmMoKSxyLm0oby5wYXJlbnROb2RlLG8pKTpyJiYoci5kKDEpLHI9bnVsbCl9LGk6aCxvOmgsZChlKXtyJiZyLmQoZSksZSYmY2Uobyl9fX1mdW5jdGlvbiBScyhlLHQsbyl7bGV0IHI9JG8oKSxpPXQuY29uZmlnLG49dC5zdHlsZXMsYT10LmlzT3BlbixzPXQubW9kYWxEYXRhLGwsYyxkLHA9ZT0+eyJUYWIiPT09ZS5rZXkmJihlLnNoaWZ0S2V5P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1sJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGMuZm9jdXMoKSk6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWMmJihlLnByZXZlbnREZWZhdWx0KCksbC5mb2N1cygpKSl9O2Z1bmN0aW9uIHUoZSl7IkVzY2FwZSI9PT1lLmtleSYmKHIoImhhbmRsZUNsb3NlIiksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvb2tpZS1iYW5uZXIiKS5mb2N1cygpKX1UbygoKT0+e3ZhciBlO2k/LmRpc2NsYWltZXJPcHRpb25zPy5hY2Nlc3NpYmlsaXR5JiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRjZi1tb2RhbCIpLmZvY3VzKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpLGU9InRjZi1tb2RhbCIsZT0oZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSkucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJyksbD1lWzBdLGM9ZVtlLmxlbmd0aC0xXSxkLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHApKX0pLExvKCgpPT57aT8uZGlzY2xhaW1lck9wdGlvbnM/LmFjY2Vzc2liaWxpdHkmJihkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix1KSl9KTt2YXJ7bW9kYWxXcmFwcGVyOnQsbW9kYWxDb250ZW50OmcsbW9kYWxDb250YWluZXI6bSxtb2RhbFRpdGxlOmYsbW9kYWxDbG9zZUJ1dHRvbjpofT0oKGUsdCk9Pnt2YXJ7Y29sb3JzOmUsZGlzY2xhaW1lck9wdGlvbnM6b309ZSx7dGhlbWU6dD0ibGlnaHQiLGNvbG9yczpyfT10LGk9IiFpbXBvcnRhbnQiLG89bz8uYWNjZXNzaWJpbGl0eSxuPSJ1bnNldCAhaW1wb3J0YW50IixhPUIoe2FsbDpuLHBvc2l0aW9uOiJmaXhlZCAiK2ksdG9wOiIwICIraSxsZWZ0OiIwICIraSx3aWR0aDoiMTAwJSAgIitpLGhlaWdodDoiMTAwJSAgIitpLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC41KSAgIitpLGRpc3BsYXk6ImZsZXggIitpLGp1c3RpZnlDb250ZW50OiJjZW50ZXIgIitpLGFsaWduSXRlbXM6ImNlbnRlciAiK2ksekluZGV4OiI5OTk5OTk5OTkzICIraX0pLHM9Qih7YWxsOm4sd2lkdGg6IjkwJSAgIitpLG1heFdpZHRoOiIzNDBweCAgIitpLGJhY2tncm91bmQ6IndoaXRlICAiK2ksYm9yZGVyUmFkaXVzOiIxNXB4ICIraSxwYWRkaW5nOiIyMHB4ICIraSxmb250RmFtaWx5OiJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICIraX0pLGw9Qih7YWxsOm4sZGlzcGxheToiYmxvY2sgIitpLGZvbnRXZWlnaHQ6ImJvbGQgIitpLG1hcmdpbkJvdHRvbToiMTBweCAiK2ksZm9udFNpemU6IiR0ZXh0ICIraX0pLGM9Qih7bWF4SGVpZ2h0OiI3MHZoICIraSxvdmVyZmxvd1k6ImF1dG8gIitpLCImIHAiOntjb2xvcjpEKE8ud2ViLFIudGV4dENvbG9yLHQsZSxyKSsiICIraSxmb250U2l6ZToiJHRleHQgIitpLG1hcmdpbjoiNXB4IDAgMCAiK2l9LCImIGEiOntjb2xvcjpEKE8ud2ViLFIucHJpbWFyeUNvbG9yLHQsZSxyKSsiICIraSxmb250U2l6ZToiJHRleHQgIitpLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUgIitpLG1hcmdpblRvcDoiNXB4ICIraX0sIiYgbGkiOntmb250U2l6ZToiJHRleHQgIitpLG1hcmdpblRvcDoiNXB4ICIraX0sIiYgaDEiOntmb250U2l6ZToiJHRpdGxlICIraSxtYXJnaW5Ub3A6IjEwcHggIitpLGZvbnRXZWlnaHQ6IjcwMCAiK2l9LCImIGgyIjp7Zm9udFNpemU6IiR0aXRsZSAiK2ksbWFyZ2luVG9wOiI1cHggIitpLGZvbnRXZWlnaHQ6IjYwMCAiK2l9LCImIGhyIjp7ZGlzcGxheToiYmxvY2siLGhlaWdodDoiMXB4Iixib3JkZXI6MCxib3JkZXJUb3A6YDFweCBzb2xpZCAke1F0KEQoTy53ZWIsUi50ZXh0Q29sb3IsdCxlLHIpLC4zKX0gYCtpLG1hcmdpbjoiMWVtIDAiLHBhZGRpbmc6MH19KTtyZXR1cm57bW9kYWxXcmFwcGVyOmEsbW9kYWxDb250YWluZXI6cyxtb2RhbFRpdGxlOmwsbW9kYWxDbG9zZUJ1dHRvbjpCKHthbGw6bixmb250V2VpZ2h0OiJib2xkICIraSxhcHBlYXJhbmNlOiJub25lICIraSxiYWNrZ3JvdW5kOkQoTy53ZWIsUi5wcmltYXJ5Q29sb3IsdCxlLHIpKyIgIitpLGNvbG9yOkQoTy53ZWIsUi5iZ0NvbG9yLHQsZSxyKSsiICIraSxib3JkZXJSYWRpdXM6IjEwMHB4ICIraSx0ZXh0QWxpZ246ImNlbnRlciAiK2ksbWFyZ2luOiIyMHB4IGF1dG8gMCAiK2kscGFkZGluZzoiMTBweCA0MHB4ICIraSxmb250U2l6ZToiJHRleHQgIitpLGN1cnNvcjoicG9pbnRlciAiK2kscG9zaXRpb246InJlbGF0aXZlICIraSxsZWZ0OiI1MCUgIitpLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSAiK2ksIiY6Zm9jdXMtdmlzaWJsZSI6byYme291dGxpbmU6IjJweCBzb2xpZCBibHVlICIraSxvdXRsaW5lT2Zmc2V0OiIzcHggIitpfX0pLG1vZGFsQ29udGVudDpjfX0pKGksbik7cmV0dXJuIGUuJCRzZXQ9ZT0+eyJjb25maWciaW4gZSYmbygwLGk9ZS5jb25maWcpLCJzdHlsZXMiaW4gZSYmbygxLG49ZS5zdHlsZXMpLCJpc09wZW4iaW4gZSYmbygyLGE9ZS5pc09wZW4pLCJtb2RhbERhdGEiaW4gZSYmbygzLHM9ZS5tb2RhbERhdGEpfSxbaSxuLGEscyxyLHQsZyxtLGYsaCwoKT0+cigiaGFuZGxlQ2xvc2UiKV19Y2xhc3MgT3MgZXh0ZW5kcyBhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksbih0aGlzLGUsUnMsRXMscix7Y29uZmlnOjAsc3R5bGVzOjEsaXNPcGVuOjIsbW9kYWxEYXRhOjN9KX19bGV0IERzPShlLHQpPT57dmFye3N0eWxlczplLGhhc0ltcG9ydGFudDpvfT1lLnN0eWxlcz8/e30se3N0eWxlczp0LGhhc0ltcG9ydGFudDpyfT10O2xldCBpPXZvaWQgMD09PXJ8fHI/dm9pZCAwPT09b3x8bz8iIWltcG9ydGFudCI6IiI6IiI7cmV0dXJue2NvbnNlbnRXYWxsOkIoe3Bvc2l0aW9uOiJmaXhlZCAiK2ksd2lkdGg6IjEwMCUgIitpLGhlaWdodDoiMTAwJSAiK2ksdG9wOiIwICIraSxsZWZ0OiIwICIraSx6SW5kZXg6Ijk5OTk5OTk5ICIraSxiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuMikgIitpLGJhY2tkcm9wRmlsdGVyOiJibHVyKDRweCkgIitpLC4uLmU/LndlYj8uY29uc2VudFdhbGw/LmNvbnRhaW5lciwuLi50Py53ZWI/LmNvbnNlbnRXYWxsPy5jb250YWluZXIsIkBtb2JpbGUiOnsuLi5lPy5tb2JpbGU/LmNvbnNlbnRXYWxsPy5jb250YWluZXIsLi4udD8ubW9iaWxlPy5jb25zZW50V2FsbD8uY29udGFpbmVyfX0pfX07ZnVuY3Rpb24gQnMoZSl7bGV0IG87cmV0dXJue2MoKXttZShvPWRlKCJkaXYiKSwiYXJpYS1oaWRkZW4iLCJ0cnVlIiksbWUobywiY2xhc3MiLGVbMF0oKSl9LG0oZSx0KXtsZShlLG8sdCl9LHA6aCxpOmgsbzpoLGQoZSl7ZSYmY2Uobyl9fX1mdW5jdGlvbiBQcyhlLHQsbyl7bGV0IHI9dC5jb25maWcsaT10LnN0eWxlczt2YXIgbix0PSh0PXIsbj1pLERzKHQsbikpLmNvbnNlbnRXYWxsO3JldHVybiBlLiQkc2V0PWU9PnsiY29uZmlnImluIGUmJm8oMSxyPWUuY29uZmlnKSwic3R5bGVzImluIGUmJm8oMixpPWUuc3R5bGVzKX0sW3QscixpXX1jbGFzcyBfcyBleHRlbmRzIGF7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSxuKHRoaXMsZSxQcyxCcyxyLHtjb25maWc6MSxzdHlsZXM6Mn0pfX1sZXQganM9Q2Uud2luZG93O2Z1bmN0aW9uIE5zKGUpe2xldCByLG87cmV0dXJuKHI9bmV3IGlpKHtwcm9wczp7Y29uZmlnOmVbMl0sc3R5bGVzOmVbNF19fSkpLiRvbigiZ28iLGVbMjBdKSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTs0JnQmJihvLmNvbmZpZz1lWzJdKSwxNiZ0JiYoby5zdHlsZXM9ZVs0XSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gVnMoZSl7bGV0IHIsbztyZXR1cm4gcj1uZXcgX3Moe3Byb3BzOntjb25maWc6ZVsyXSxzdHlsZXM6ZVs0XX19KSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTs0JnQmJihvLmNvbmZpZz1lWzJdKSwxNiZ0JiYoby5zdHlsZXM9ZVs0XSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gTXMoZSl7bGV0IHIsbztyZXR1cm4ocj1uZXcgbG4oe3Byb3BzOntjb25maWc6ZVsyXSxzdHlsZXM6ZVs0XSxpc01vZGFsSW5mb09wZW46ZVs2XX19KSkuJG9uKCJnbyIsZVs4XSksci4kb24oImhhbmRsZU9wZW5Nb2RhbCIsZVsxMF0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzQmdCYmKG8uY29uZmlnPWVbMl0pLDE2JnQmJihvLnN0eWxlcz1lWzRdKSw2NCZ0JiYoby5pc01vZGFsSW5mb09wZW49ZVs2XSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24genMoZSl7bGV0IHIsbztyZXR1cm4ocj1uZXcgVmEoe3Byb3BzOntjb25maWc6ZVsyXSxzdHlsZXM6ZVs0XSxpc01vZGFsSW5mb09wZW46ZVs2XX19KSkuJG9uKCJnbyIsZVs4XSksci4kb24oInVwZGF0ZUlhYlRhZ3MiLGVbMTJdKSxyLiRvbigiaGFuZGxlT3Blbk1vZGFsIixlWzEwXSkse2MoKXt4ZShyLiQkLmZyYWdtZW50KX0sbShlLHQpe3llKHIsZSx0KSxvPSEwfSxwKGUsdCl7dmFyIG89e307NCZ0JiYoby5jb25maWc9ZVsyXSksMTYmdCYmKG8uc3R5bGVzPWVbNF0pLDY0JnQmJihvLmlzTW9kYWxJbmZvT3Blbj1lWzZdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBGcyhlKXtsZXQgcixvO3JldHVybihyPW5ldyBicyh7cHJvcHM6e2NvbmZpZzplWzJdLHN0eWxlczplWzRdfX0pKS4kb24oImdvIixlWzhdKSx7Yygpe3hlKHIuJCQuZnJhZ21lbnQpfSxtKGUsdCl7eWUocixlLHQpLG89ITB9LHAoZSx0KXt2YXIgbz17fTs0JnQmJihvLmNvbmZpZz1lWzJdKSwxNiZ0JiYoby5zdHlsZXM9ZVs0XSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gVXMoZSl7bGV0IHIsbztyZXR1cm4ocj1uZXcgT3Moe3Byb3BzOntjb25maWc6ZVsyXSxzdHlsZXM6ZVs0XSxtb2RhbERhdGE6ZVs3XSxpc09wZW46ZVs2XX19KSkuJG9uKCJoYW5kbGVDbG9zZSIsZVsxMV0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLHQpe3ZhciBvPXt9OzQmdCYmKG8uY29uZmlnPWVbMl0pLDE2JnQmJihvLnN0eWxlcz1lWzRdKSwxMjgmdCYmKG8ubW9kYWxEYXRhPWVbN10pLDY0JnQmJihvLmlzT3Blbj1lWzZdKSxyLiRzZXQobyl9LGkoZSl7b3x8KGhlKHIuJCQuZnJhZ21lbnQsZSksbz0hMCl9LG8oZSl7YmUoci4kJC5mcmFnbWVudCxlKSxvPSExfSxkKGUpe3dlKHIsZSl9fX1mdW5jdGlvbiBXcyhvKXtsZXQgcixpLG4sYSxzLGwsYyxkLHAsdT1vWzFdJiZvWzFdIT09TS5IaWRkZW4mJm9bM10mJiFvWzVdJiZOcyhvKSxnPW9bMF0mJihvWzFdPT09TS5DYXJkfHxvWzFdPT09TS5PcGVufHxvWzFdPT09TS5QcmVmZXJlbmNlcykmJlZzKG8pLG09KG9bMV09PT1NLkNhcmR8fG9bMV09PT1NLk9wZW4pJiZNcyhvKSxmPW9bMV09PT1NLlByZWZlcmVuY2VzJiYhb1s1XSYmenMobyksaD1vWzFdPT09TS5QcmVmZXJlbmNlcyYmb1s1XSYmRnMobyksYj1vWzZdJiZvWzRdJiZvWzJdJiZVcyhvKTtyZXR1cm57Yygpe3UmJnUuYygpLHI9dWUoKSxnJiZnLmMoKSxpPXVlKCksbSYmbS5jKCksbj11ZSgpLGYmJmYuYygpLGE9dWUoKSxoJiZoLmMoKSxzPXVlKCksYiYmYi5jKCksbD1mbygpfSxtKGUsdCl7dSYmdS5tKGUsdCksbGUoZSxyLHQpLGcmJmcubShlLHQpLGxlKGUsaSx0KSxtJiZtLm0oZSx0KSxsZShlLG4sdCksZiYmZi5tKGUsdCksbGUoZSxhLHQpLGgmJmgubShlLHQpLGxlKGUscyx0KSxiJiZiLm0oZSx0KSxsZShlLGwsdCksYz0hMCxkfHwocD1nZShqcywiY2xpY2siLG9bOV0pLGQ9ITApfSxwKGUsW3RdKXtlWzFdJiZlWzFdIT09TS5IaWRkZW4mJmVbM10mJiFlWzVdP3U/KHUucChlLHQpLDQyJnQmJmhlKHUsMSkpOigodT1OcyhlKSkuYygpLGhlKHUsMSksdS5tKHIucGFyZW50Tm9kZSxyKSk6dSYmKGllKCksYmUodSwxLDEsKCk9Pnt1PW51bGx9KSxuZSgpKSwhZVswXXx8ZVsxXSE9PU0uQ2FyZCYmZVsxXSE9PU0uT3BlbiYmZVsxXSE9PU0uUHJlZmVyZW5jZXM/ZyYmKGllKCksYmUoZywxLDEsKCk9PntnPW51bGx9KSxuZSgpKTpnPyhnLnAoZSx0KSwzJnQmJmhlKGcsMSkpOigoZz1WcyhlKSkuYygpLGhlKGcsMSksZy5tKGkucGFyZW50Tm9kZSxpKSksZVsxXT09PU0uQ2FyZHx8ZVsxXT09PU0uT3Blbj9tPyhtLnAoZSx0KSwyJnQmJmhlKG0sMSkpOigobT1NcyhlKSkuYygpLGhlKG0sMSksbS5tKG4ucGFyZW50Tm9kZSxuKSk6bSYmKGllKCksYmUobSwxLDEsKCk9PnttPW51bGx9KSxuZSgpKSxlWzFdIT09TS5QcmVmZXJlbmNlc3x8ZVs1XT9mJiYoaWUoKSxiZShmLDEsMSwoKT0+e2Y9bnVsbH0pLG5lKCkpOmY/KGYucChlLHQpLDM0JnQmJmhlKGYsMSkpOigoZj16cyhlKSkuYygpLGhlKGYsMSksZi5tKGEucGFyZW50Tm9kZSxhKSksZVsxXT09PU0uUHJlZmVyZW5jZXMmJmVbNV0/aD8oaC5wKGUsdCksMzQmdCYmaGUoaCwxKSk6KChoPUZzKGUpKS5jKCksaGUoaCwxKSxoLm0ocy5wYXJlbnROb2RlLHMpKTpoJiYoaWUoKSxiZShoLDEsMSwoKT0+e2g9bnVsbH0pLG5lKCkpLGVbNl0mJmVbNF0mJmVbMl0/Yj8oYi5wKGUsdCksODQmdCYmaGUoYiwxKSk6KChiPVVzKGUpKS5jKCksaGUoYiwxKSxiLm0obC5wYXJlbnROb2RlLGwpKTpiJiYoaWUoKSxiZShiLDEsMSwoKT0+e2I9bnVsbH0pLG5lKCkpfSxpKGUpe2N8fChoZSh1KSxoZShnKSxoZShtKSxoZShmKSxoZShoKSxoZShiKSxjPSEwKX0sbyhlKXtiZSh1KSxiZShnKSxiZShtKSxiZShmKSxiZShoKSxiZShiKSxjPSExfSxkKGUpe3UmJnUuZChlKSxlJiZjZShyKSxnJiZnLmQoZSksZSYmY2UoaSksbSYmbS5kKGUpLGUmJmNlKG4pLGYmJmYuZChlKSxlJiZjZShhKSxoJiZoLmQoZSksZSYmY2UocyksYiYmYi5kKGUpLGUmJmNlKGwpLGQ9ITEscCgpfX19ZnVuY3Rpb24gSHMoZSx0LG8pe2xldCByLGksbixhLHMsbCxjLGQscD0hMSx1LGc9dC5kaXNjbGFpbWVySWQsbT10LmJhckV2ZW50cyxmPXQuYmFyRmlyZWRUYWdzLGg9dC5iYXJVcGRhdGVUYWdzLGI9dC5iYXJDYWxsYmFjayx4PXQuYmFyRGlzY2xhaW1lckluZm8seT10LmJhckNoYW5nZUNsYXNzZXM7ZnVuY3Rpb24gdyhlKXt2YXIgdDtlLmRldGFpbC5zdGF0dXM9PT1NLkNsb3NlZCYmR3Qobik/bygxLGk9TS5IaWRkZW4pOm8oMSxpPWUuZGV0YWlsLnN0YXR1cyksZS5kZXRhaWwuZXZlbnQhPT16LkFjY2VwdEFsbCYmZS5kZXRhaWwuZXZlbnQhPT16LlJlamVjdEFsbHx8bygyLG49SHQobixlLmRldGFpbC5ldmVudCkpLG0oZS5kZXRhaWwuZXZlbnQpLGUuZGV0YWlsLnVwZGF0ZUNvbnNlbnQmJihvKDAscj0hMSksKG4/LnRjZj8uZW5hYmxlZCYmdGVbZWUuRXVyb3BlXS5pbmNsdWRlcyhuLmxlZ2lzbGF0aW9uKXx8bj8udGNmPy5mb3JjZVRjU3RyaW5nKSYmKGFzeW5jKGUsdCk9PntMdC51bnNldEFsbFZlbmRvckNvbnNlbnRzKCksTHQudW5zZXRBbGxWZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzKCksTHQudW5zZXRBbGxQdXJwb3NlQ29uc2VudHMoKSxMdC51bnNldEFsbFB1cnBvc2VMZWdpdGltYXRlSW50ZXJlc3RzKCksTHQudW5zZXRBbGxTcGVjaWFsRmVhdHVyZU9wdGlucygpLE9iamVjdC52YWx1ZXModC5wdXJwb3Nlc0luVXNlKS5mb3JFYWNoKGU9PntlLmFjY2VwdCYmTHQucHVycG9zZUNvbnNlbnRzLnNldChOdW1iZXIoZS5pZCkpLGUubGVnSW50JiZMdC5wdXJwb3NlTGVnaXRpbWF0ZUludGVyZXN0cy5zZXQoTnVtYmVyKGUuaWQpKX0pLE9iamVjdC52YWx1ZXModC5zcGVjaWFsRmVhdHVyZXNJblVzZSkuZm9yRWFjaChlPT57ZS5hY2NlcHQmJkx0LnNwZWNpYWxGZWF0dXJlT3B0aW5zLnNldChOdW1iZXIoZS5pZCkpfSksZS5mb3JFYWNoKChlLHQpPT57ZS5hY2NlcHQmJkx0LnZlbmRvckNvbnNlbnRzLnNldChOdW1iZXIoZS5pZCkpLGUubGVnSW50JiZMdC52ZW5kb3JMZWdpdGltYXRlSW50ZXJlc3RzLnNldChOdW1iZXIoZS5pZCkpfSksQXQoe3VpVmlzaWJsZTohMX0pfSkobi5pYWJUYWdzLG4uaWFiQ2F0ZWdvcmllcyksRHQobixnLGEscyxlLmRldGFpbC5ldmVudCkse3VwZGF0ZWRUYWdzOmUsY2F0ZWdvcmllc1N0YXR1czp0fT1qdChuLnRhZ3MsZixoLGUuZGV0YWlsLmV2ZW50LG4uY2F0ZWdvcmllc1N0YXR1cyksbygyLG4udGFncz1lLG4pLG8oMixuLmNhdGVnb3JpZXNTdGF0dXM9dCxuKSxiKHtkaXNjbGFpbWVySWQ6Zyx2aXNpdG9ySWQ6YSx0YWdzOm4udGFncyx3ZWJzaXRlSWQ6bi53ZWJzaXRlSWQsbGFuZ3VhZ2U6bi5sYW5ndWFnZSxsZWdpc2xhdGlvbjpuLmxlZ2lzbGF0aW9ufSkpfVRvKGFzeW5jKCk9PntrLmRlYnVnKCJNb3VudGluZyB0YWciKTt2YXIgZT1hd2FpdCBCdChnLGYsaCk7byg0LGM9eSksbygyLG49ZS5jb25maWcpLGE9ZS52aXNpdG9ySWQsbygxLGk9ZS5jdXJyZW50UGFnZSksbygwLHI9ZS5zaG91bGRTaG93Q29uc2VudFdhbGwpLHM9VXQobi5kaXNjbGFpbWVyT3B0aW9ucy5zaG91bGRTZXRTdWJkb21haW5Db29raWUpLGsuZGVidWcoIkRvbWFpbiIscyksay5kZWJ1ZygiQ29uZmlnIixuKSxvKDIsbj1hd2FpdCBxdChuLGcsYSwiIikpLHgobiksbygzLGw9bj8uZGlzY2xhaW1lck9wdGlvbnM/LmRpc2NsYWltZXJDb250cm9sbGVyVmlzaWJpbGl0eSksbyg1LGQ9ImFsdGVybmF0aXZlIj09PW4/LmRpc2NsYWltZXJPcHRpb25zLnRoZW1lKSxuPy53YXJuaW5ncz8uZm9yRWFjaChlPT5rLndhcm5pbmcoZSwiIiwhMCkpfSksd2luZG93LnRvcCYmKHdpbmRvdy50b3Auc2VuZEFkb3B0Q29tbWFuZD1mdW5jdGlvbihlKXtvKDEsaT0ib3BlbiI9PT1lP00uT3BlbjpNLkhpZGRlbil9KTtyZXR1cm4gZS4kJHNldD1lPT57ImRpc2NsYWltZXJJZCJpbiBlJiZvKDEzLGc9ZS5kaXNjbGFpbWVySWQpLCJiYXJFdmVudHMiaW4gZSYmbygxNCxtPWUuYmFyRXZlbnRzKSwiYmFyRmlyZWRUYWdzImluIGUmJm8oMTUsZj1lLmJhckZpcmVkVGFncyksImJhclVwZGF0ZVRhZ3MiaW4gZSYmbygxNixoPWUuYmFyVXBkYXRlVGFncyksImJhckNhbGxiYWNrImluIGUmJm8oMTcsYj1lLmJhckNhbGxiYWNrKSwiYmFyRGlzY2xhaW1lckluZm8iaW4gZSYmbygxOCx4PWUuYmFyRGlzY2xhaW1lckluZm8pLCJiYXJDaGFuZ2VDbGFzc2VzImluIGUmJm8oMTkseT1lLmJhckNoYW5nZUNsYXNzZXMpfSxbcixpLG4sbCxjLGQscCx2b2lkIDAsdyxmdW5jdGlvbigpe3ZhciBlO2khPT1NLkNsb3NlZCYmaSE9PU0uSGlkZGVuJiZpIT09TS5PcGVuJiYoZT0oZT0+e3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaChlKXtyZXR1cm4gbnVsbH19KShWdCgiQWRvcHRDb25zZW50IixzLG4/LmNvbnNlbnRPcHRpb25zPy5yZW1vdmVDb25zZW50RnJvbUNvb2tpZXMpKSkmJigwPGUub3B0SW5UYWdzLmxlbmd0aHx8MDxlLm9wdE91dFRhZ3MubGVuZ3RoKSYmbygxLGk9TS5DbG9zZWQpfSxmdW5jdGlvbihlKXtvKDcsdT1lLmRldGFpbCksbyg2LHA9ITApfSxmdW5jdGlvbigpe28oNixwPSExKSxuPy5kaXNjbGFpbWVyT3B0aW9ucz8uYWNjZXNzaWJpbGl0eSYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvb2tpZS1iYW5uZXIiKS5mb2N1cygpfSxmdW5jdGlvbihlKXtvKDIsbi5pYWJUYWdzPWUuZGV0YWlsLG4pfSxnLG0sZixoLGIseCx5LGU9PncoZSldfWNsYXNzIEdzIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEhzLFdzLHIse2Rpc2NsYWltZXJJZDoxMyxiYXJFdmVudHM6MTQsYmFyRmlyZWRUYWdzOjE1LGJhclVwZGF0ZVRhZ3M6MTYsYmFyQ2FsbGJhY2s6MTcsYmFyRGlzY2xhaW1lckluZm86MTgsYmFyQ2hhbmdlQ2xhc3NlczoxOX0pfX1mdW5jdGlvbiBxcyhlKXtsZXQgcixvO3JldHVybiByPW5ldyBHcyh7cHJvcHM6e2Rpc2NsYWltZXJJZDplWzBdLGJhckV2ZW50czplWzFdLGJhckNhbGxiYWNrOmVbNF0sYmFyRmlyZWRUYWdzOmVbM10sYmFyVXBkYXRlVGFnczplWzJdLGJhckRpc2NsYWltZXJJbmZvOmVbNV0sYmFyQ2hhbmdlQ2xhc3NlczplWzZdfX0pLHtjKCl7eGUoci4kJC5mcmFnbWVudCl9LG0oZSx0KXt5ZShyLGUsdCksbz0hMH0scChlLFt0XSl7dmFyIG89e307MSZ0JiYoby5kaXNjbGFpbWVySWQ9ZVswXSksMiZ0JiYoby5iYXJFdmVudHM9ZVsxXSksMTYmdCYmKG8uYmFyQ2FsbGJhY2s9ZVs0XSksOCZ0JiYoby5iYXJGaXJlZFRhZ3M9ZVszXSksNCZ0JiYoby5iYXJVcGRhdGVUYWdzPWVbMl0pLDMyJnQmJihvLmJhckRpc2NsYWltZXJJbmZvPWVbNV0pLDY0JnQmJihvLmJhckNoYW5nZUNsYXNzZXM9ZVs2XSksci4kc2V0KG8pfSxpKGUpe298fChoZShyLiQkLmZyYWdtZW50LGUpLG89ITApfSxvKGUpe2JlKHIuJCQuZnJhZ21lbnQsZSksbz0hMX0sZChlKXt3ZShyLGUpfX19ZnVuY3Rpb24gS3MoZSx0LG8pe2xldCByPXQuZGlzY2xhaW1lcklkLGk9dC5iYXJFdmVudHMsbj10LmJhclVwZGF0ZVRhZ3MsYT10LmJhckZpcmVkVGFncyxzPXQuYmFyQ2FsbGJhY2ssbD10LmJhckRpc2NsYWltZXJJbmZvLGM9dC5iYXJDaGFuZ2VDbGFzc2VzO3JldHVybiBlLiQkc2V0PWU9PnsiZGlzY2xhaW1lcklkImluIGUmJm8oMCxyPWUuZGlzY2xhaW1lcklkKSwiYmFyRXZlbnRzImluIGUmJm8oMSxpPWUuYmFyRXZlbnRzKSwiYmFyVXBkYXRlVGFncyJpbiBlJiZvKDIsbj1lLmJhclVwZGF0ZVRhZ3MpLCJiYXJGaXJlZFRhZ3MiaW4gZSYmbygzLGE9ZS5iYXJGaXJlZFRhZ3MpLCJiYXJDYWxsYmFjayJpbiBlJiZvKDQscz1lLmJhckNhbGxiYWNrKSwiYmFyRGlzY2xhaW1lckluZm8iaW4gZSYmbyg1LGw9ZS5iYXJEaXNjbGFpbWVySW5mbyksImJhckNoYW5nZUNsYXNzZXMiaW4gZSYmbyg2LGM9ZS5iYXJDaGFuZ2VDbGFzc2VzKX0sW3IsaSxuLGEscyxsLGNdfWNsYXNzIFFzIGV4dGVuZHMgYXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLG4odGhpcyxlLEtzLHFzLHIse2Rpc2NsYWltZXJJZDowLGJhckV2ZW50czoxLGJhclVwZGF0ZVRhZ3M6MixiYXJGaXJlZFRhZ3M6MyxiYXJDYWxsYmFjazo0LGJhckRpc2NsYWltZXJJbmZvOjUsYmFyQ2hhbmdlQ2xhc3Nlczo2fSl9fVNlPSIxLjAuMTUiLGsuZGVidWcoU2UrIiAtIFN0YXJ0aW5nIEFkb3B0IHRhZyIpO2xldCBKcz0oKCk9Pnt2YXIgZSx0LG87Zm9yKGUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgibWV0YVtuYW1lPSdhZG9wdC13ZWJzaXRlLWlkJ10iKSl7dmFyIHI9ZS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKTtpZihSdChyKSlyZXR1cm4gcn1mb3IodCBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzY3JpcHRbY2xhc3M9ImFkb3B0LWluamVjdG9yIl0nKSl7dmFyIGk9dC5nZXRBdHRyaWJ1dGUoInNyYyIpLnN1YnN0cmluZyh0LmdldEF0dHJpYnV0ZSgic3JjIikuaW5kZXhPZigid2Vic2l0ZV9jb2RlPSIpKzEzKTtpZihSdChpKSlyZXR1cm4gaX1mb3IobyBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHQiKSlpZihvLnNyYy5pbmNsdWRlcygiaW5qZWN0b3IuanM/d2Vic2l0ZV9jb2RlPSIpKXt2YXIgbj1vLnNyYy5zdWJzdHJpbmcoby5zcmMuaW5kZXhPZigid2Vic2l0ZV9jb2RlPSIpKzEzKTtpZihSdChuKSlyZXR1cm4gbn1rLmVycm9yKCJOw6NvIGVuY29udHJhbW9zIG5lbmh1bWEgTWV0YVRhZyBvdSBTY3JpcHQgZGEgQWRPcHQgaW5zdGFsYWRvcyBubyBzZXUgc2l0ZS4gOigiKX0pKCksWnM7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe1pzfHwidGFnLWxvYWRlZCI9PT13aW5kb3cudG9wLmRpc2NsYWltZXJTdGF0dXN8fChrLmRlYnVnKCJUYWcgbG9hZGVkIGJ5IGV2ZW50IGxpc3RlbmVyIiksd2luZG93LnRvcC5kaXNjbGFpbWVyU3RhdHVzPSJ0YWctbG9hZGVkIixacz1uZXcgUXMoe3RhcmdldDpkb2N1bWVudC5ib2R5LHByb3BzOntkaXNjbGFpbWVySWQ6SnMsYmFyRXZlbnRzOndpbmRvdz8udG9wPy5hZG9wdEV2ZW50cz8/ZnVuY3Rpb24oZSl7fSxiYXJDYWxsYmFjazp3aW5kb3c/LnRvcD8uYWRvcHRDQj8/ZnVuY3Rpb24oZSl7fSxiYXJGaXJlZFRhZ3M6d2luZG93Py50b3A/LmZpcmVkVGFncz8/ZnVuY3Rpb24oZSl7fSxiYXJVcGRhdGVUYWdzOndpbmRvdz8udG9wPy5hZG9wdFVwZGF0ZVRhZ3M/P2Z1bmN0aW9uKGUpe30sYmFyRGlzY2xhaW1lckluZm86d2luZG93Py50b3A/LmRpc2NsYWltZXJJbmZvQ0I/P2Z1bmN0aW9uKGUpe30sYmFyQ2hhbmdlQ2xhc3Nlczp3aW5kb3c/LnRvcD8uYWRvcHRDaGFuZ2VDbGFzc2VzPz97fX19KSl9KSxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiQk9EWSIpWzBdJiYidGFnLWxvYWRlZCIhPT13aW5kb3cudG9wLmRpc2NsYWltZXJTdGF0dXMmJihrLmRlYnVnKCJUYWcgbG9hZGVkIGJvZHkgY2hlY2siKSx3aW5kb3cudG9wLmRpc2NsYWltZXJTdGF0dXM9InRhZy1sb2FkZWQiLFpzPW5ldyBRcyh7dGFyZ2V0OmRvY3VtZW50LmJvZHkscHJvcHM6e2Rpc2NsYWltZXJJZDpKcyxiYXJFdmVudHM6d2luZG93Py50b3A/LmFkb3B0RXZlbnRzPz9mdW5jdGlvbihlKXt9LGJhckNhbGxiYWNrOndpbmRvdz8udG9wPy5hZG9wdENCPz9mdW5jdGlvbihlKXt9LGJhckZpcmVkVGFnczp3aW5kb3c/LnRvcD8uZmlyZWRUYWdzPz9mdW5jdGlvbihlKXt9LGJhclVwZGF0ZVRhZ3M6d2luZG93Py50b3A/LmFkb3B0VXBkYXRlVGFncz8/ZnVuY3Rpb24oZSl7fSxiYXJEaXNjbGFpbWVySW5mbzp3aW5kb3c/LnRvcD8uZGlzY2xhaW1lckluZm9DQj8/ZnVuY3Rpb24oZSl7fSxiYXJDaGFuZ2VDbGFzc2VzOndpbmRvdz8udG9wPy5hZG9wdENoYW5nZUNsYXNzZXM/P3t9fX0pKSxac30pKCk7Cg=='; var adoptScript = document.createElement("script"); adoptScript.className = "adopt-injector-code"; adoptScript.textContent = decodeURIComponent(atob(adoptScript64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); adoptScript.charset = "UTF-8"; const metaTag = document.querySelector('meta[name="adopt-website-id"]') if (metaTag && metaTag.getAttribute('nonce')) { adoptScript.setAttribute('nonce', metaTag.getAttribute('nonce')) } document.head.appendChild(adoptScript); }());